You must enable javascript in order to view this page or you can go
here
to view the webhelp.
QNX
®
Software Development Platform 6.5.0 SP1
QNX
®
Platform for ADAS 1.0
Content
Search Results
Index
Loading, please wait ...
QNX Software Development Platform 6.5.0 SP1
A Roadmap to the QNX SDP Development Platform
Welcome to the QNX Software Development Platform
About This Guide
Typographical conventions
Note to Windows users
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 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
Keyword Index
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
P
Q
R
S
T
U
V
W
X
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 RTOS Hosts
Before you start
System requirements
BIOS settings
Installing QNX SDP 6.5.0 SP1
Errors while booting
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Uninstalling QNX SDP 6.5.0 and SP1
Determining your base directory
Microsoft Windows Hosts
Before you start
System requirements
Installing QNX SDP 6.5.0 SP1
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Uninstalling QNX SDP 6.5.0 and SP1
Determining your base directory
Linux Hosts
Before you start
System requirements
Installing QNX SDP 6.5.0 SP1
Activating QNX SDP
Activating automatically
Activating manually
Commercializing your evaluation software
Uninstalling QNX SDP 6.5.0 and SP1
Determining your base directory
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
<hardware>
<hash_map>
hash_compare
hash_map
hash_map::allocator_type
hash_map::begin
hash_map::bucket
hash_map::bucke_countt
hash_map::bucket_size
hash_map::clear
hash_map::const_iterator
hash_map::const_local_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::load_factor
hash_map::local_iterator
hash_map::lower_bound
hash_map::mapped_type
hash_map::max_bucket_count
hash_map::max_load_factort
hash_map::max_size
hash_map::operator[]
hash_map::pointer
hash_map::rbegin
hash_map::reference
hash_map::rehash
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::bucket
hash_multimap::bucke_countt
hash_multimap::bucket_size
hash_multimap::clear
hash_multimap::const_iterator
hash_multimap::const_local_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::load_factor
hash_multimap::local_iterator
hash_multimap::lower_bound
hash_multimap::mapped_type
hash_multimap::max_bucket_count
hash_multimap::max_load_factort
hash_multimap::max_size
hash_multimap::pointer
hash_multimap::rbegin
hash_multimap::reference
hash_multimap::rehash
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::bucket
hash_multiset::bucke_countt
hash_multiset::bucket_size
hash_multiset::clear
hash_multiset::const_iterator
hash_multiset::const_local_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::load_factor
hash_multiset::local_iterator
hash_multiset::lower_bound
hash_multiset::max_bucket_count
hash_multiset::max_load_factort
hash_multiset::max_size
hash_multiset::pointer
hash_multiset::rbegin
hash_multiset::reference
hash_multiset::rehash
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::bucket
hash_set::bucke_countt
hash_set::bucket_size
hash_set::clear
hash_set::const_iterator
hash_set::const_local_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::load_factor
hash_set::local_iterator
hash_set::lower_bound
hash_set::max_bucket_count
hash_set::max_load_factort
hash_set::max_size
hash_set::pointer
hash_set::rbegin
hash_set::reference
hash_set::rehash
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::const_reference
priority_queue::container_type
priority_queue::empty
priority_queue::pop
priority_queue::priority_queue
priority_queue::push
priority_queue::reference
priority_queue::size
priority_queue::size_type
priority_queue::top
priority_queue::value_type
queue
queue::back
queue::const_reference
queue::container_type
queue::empty
queue::front
queue::pop
queue::push
queue::queue
queue::reference
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::const_reference
stack::container_type
stack::empty
stack::pop
stack::push
stack::reference
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
<uchar.h>
c16rtomb
c32rtomb
char16_t
char32_t
mbrtoc16
mbrtoc32
mbstate_t
NULL
size_t
__STDC_UTF_16__
__STDC_UTF_32__
<wchar.h>
btowc
fgetwc
fgetws
fputwc
fputws
fwide
fwprintf
fwscanf
getwc
getwchar
mbrlen
mbrtowc
mbsinit
mbsrtowcs
mbstate_t
NULL
putwc
putwchar
size_t
swprintf
swscanf
tm
ungetwc
vfwprintf
vswprintf
vwprintf
WCHAR_MAX
WCHAR_MIN
wchar_t
wcrtomb
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod
wcstok
wcstol
wcstoul
wcsxfrm
wctob
WEOF
wint_t
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wprintf
wscanf
<wctype.h>
WEOF
iswalnum
iswalpha
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
towctrans
towlower
towupper
wctrans
wctrans_t
wctype
wctype_t
wint_t
<iohw.h>
<fstream.h>
<iomanip.h>
<iostream.h>
<new.h>
<stl.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
Byte and Wide Streams
Controlling Streams
Stream States
Formatted Output
Print Formats
Print Functions
Formatted Input
Scan Formats
Scan Functions
Scan Conversion Specifiers
Locale Definitions
STL Conventions
Iterator Conventions
Algorithm Conventions
STL 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
Dinkum C99 Library
Table of Contents
<assert.h>
assert
<complex.h>
complex
_Complex_I
I
imaginary
_Imaginary_I
<ctype.h>
isalnum
isalpha
isblank
iscntrl
isdigit
isgraph
islower
isprint
ispunct
isspace
isupper
isxdigit
tolower
toupper
<errno.h>
EDOM
EILSEQ
ERANGE
errno
<fenv.h>
FE_ALL_EXCEPT
FE_DFL_ENV
FE_DIVBYZERO
FE_DOWNWARD
FE_INEXACT
FE_INVALID
FE_TONEAREST
FE_TOWARDZERO
FE_OVERFLOW
FE_UNDERFLOW
FE_UPWARD
fenv_t
feclearexcept
fegettrapenable
fegetenv
fegetexceptflag
fegetround
feholdexcept
feraiseexcept
fesetenv
fesetexceptflag
fesetround
fesettrapenable
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>
imaxdiv_t
PRIdMAX
PRIdPTR
PRIiMAX
PRIiPTR
PRIoMAX
PRIoPTR
PRIuMAX
PRIuPTR
PRIxMAX
PRIxPTR
PRIXMAX
PRIXPTR
SCNdMAX
SCNdPTR
SCNiMAX
SCNiPTR
SCNoMAX
SCNoPTR
SCNuMAX
SCNuPTR
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>
double_t
float_t
fpclassify
FP_FAST_FMA
FP_FAST_FMAF
FP_FAST_FMAL
FP_ILOGB0
FP_ILOGBNAN
FP_INFINITE
FP_NAN
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
HUGE_VAL
HUGE_VALF
HUGE_VALL
INFINITY
isfinite
isgreater
isgreaterequal
isinf
isless
islessequal
islessgreater
isnan
isnormal
isunordered
MATH_ERRNO
MATH_ERREXCEPT
math_errhandling
NAN
signbit
<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>
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
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
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
Preprocessing
Expressions
Functions
Index
Dinkum EC++
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
Database Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
Technical support
Introduction
Starting QDB
Synopsis:
Options:
Database directory
Schema files
Starting the QDB server
Temporary storage filesystem
Auto-attaching databases
Incorrect
Correct
Correct
Database integrity testing
Testing SQL statements
Configuration file
Sharing connections between clients
Shared caching
Advantages of shared caching
Database recovery
Busy timeout
Handling corrupt databases
Sample script
Maintenance Commands
QDB Client utility (qdbc)
Synopsis:
Options:
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
qdb_bkcancel
qdb_cell
qdb_cell_length
qdb_cell_type
qdb_collation
qdb_column_decltype
qdb_column_index
qdb_column_name
qdb_columns
qdb_connect
Using asynchronous mode
qdb_data_source
qdb_disconnect
qdb_freeresult
qdb_getdbsize
qdb_geterrmsg
qdb_getoption
qdb_getresult
qdb_gettransstate
qdb_interrupt
qdb_last_insert_rowid
qdb_mprintf
qdb_parameters
qdb_printmsg
qdb_query
qdb_rollback
qdb_rowchanges
qdb_rows
qdb_setbusytimeout
qdb_setoption
qdb_snprintf
qdb_statement
qdb_stmt_decltypes
qdb_stmt_exec
The qdb_binding_t structure
qdb_stmt_free
qdb_stmt_init
qdb_vacuum
qdb_vmprintf
QDB SQL Reference
General
Statements
Row ID and Autoincrement
The AUTOINCREMENT Keyword
Comment
expressions
Literal values
Parameters
LIKE
GLOB
Column Names
SELECT statements
CAST
Functions
Core Functions
Aggregate Functions
QDB Keywords
Special names
ALTER TABLE
ANALYZE
ATTACH DATABASE
CREATE INDEX
CREATE TABLE
CREATE TRIGGER
CREATE VIEW
DELETE
DETACH DATABASE
DROP INDEX
DROP TABLE
DROP TRIGGER
DROP VIEW
EXPLAIN
INSERT
ON CONFLICT
PRAGMA
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
REPLACE
SELECT
DISTINCT keyword
WHERE clause
GROUP BY clauses
ORDER BY clauses
LIMIT clauses
Compund SELECT statements
TRANSACTION
Locks
UPDATE
VACUUM
Keyword Index
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
QNX Momentics IDE User's Guide
How to use this guide
IDE Concepts
What is the IDE?
Building embedded systems using the IDE
Perspectives
Views
Editors
Projects
Considerations for project development
How the IDE characterizes projects using natures
Workspace
QNX development environment
Preferences
Importing preferences
Exporting preferences
Setting export options for a BSP
Version coexistence
Environment variables
Coexistence and PhAB
Specifying which OS version to build for
Getting Started
Starting the IDE
Starting the IDE for the first time
The IDE welcomes you
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 C/C++ project
Creating a project for a C or C++ application
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
Creating a QNX Target System Project
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 to a target 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 editor templates
Inserting editor templates
Creating an editor template
Editing an editor 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 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 Debugger with a QNX Neutrino kernel image
Prerequisites
Connecting the Abatron BDI2000 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 plugin software
Connecting the Lauterbach Trace32 In-Circuit Debugger
Configuring the Lauterbach Trace32 In-Circuit Debugger
Creating a launch configuration for the Lauterbach hardware
Creating a startup script for the Lauterbach Trace32 In-Circuit Debugger
Creating multicore launch configurations
Using the Lauterbach 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 using the Terminal view
Communicating with your target over a serial connection
Transferring a file over a serial connection
Downloading using TFTP
Transferring a file
Transferring files that aren't in
Images
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 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
Tool options and environment variables
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
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
QNX Neutrino Adaptive Partitioning
Adaptive Partitioning User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
What is Adaptive Partitioning?
What are partitions and what is adaptive partitioning?
If 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
Keyword Index
!
A
B
C
D
F
H
I
K
L
M
N
O
P
Q
R
S
T
U
W
Z
QNX Neutrino Advanced Graphics Framework
Advanced Graphics Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
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
gf_3d_target_free
gf_3d_query_config
gf_alpha_t
Alpha mode flags
gf_chroma_t
gf_context_create
gf_context_disable_alpha
gf_context_disable_antialias
gf_context_disable_chroma
gf_context_disable_clipping
gf_context_disable_linedash
gf_context_disable_pattern
gf_context_disable_planemask
gf_context_disable_transform
gf_context_disable_translation
gf_context_free
gf_context_get_surface
gf_context_init
gf_context_set_alpha
gf_context_set_antialias
gf_context_set_bgcolor
gf_context_set_bgcolor_native
gf_context_set_capstyle
gf_context_set_chroma
gf_context_set_clipping
gf_context_set_fgcolor
gf_context_set_fgcolor_native
gf_context_set_filter
gf_context_set_hw_polygon
gf_context_set_linedash
gf_context_set_linejoin
gf_context_set_pattern
gf_context_set_penwidth
gf_context_set_planemask
gf_context_set_polyfill
gf_context_set_rop
Raster Operation Defines
gf_context_set_surface
gf_context_set_surface_3d
gf_context_set_transform
gf_context_set_translation
gf_context_unset_surface
gf_cursor_disable
gf_cursor_enable
gf_cursor_set
gf_cursor_set_pos
gf_dev_attach
gf_dev_detach
gf_dev_get_error
gf_dev_get_meminfo
gf_dev_register_thread
gf_dim_t
gf_display_attach
gf_display_info_t
gf_display_detach
gf_display_query
gf_display_query_mode
gf_display_set_dpms
gf_display_set_external_chroma
gf_display_set_layer_order
gf_display_set_mode
gf_display_snapshot
gf_display_wait_vsync
gf_draw_begin
gf_draw_bitmap
gf_draw_blit1
gf_draw_blit2
gf_draw_blitscaled
gf_draw_end
gf_draw_finish
gf_draw_flush
gf_draw_image
gf_draw_poly_fill
gf_draw_polyline
gf_draw_rect
gf_draw_span
gf_draw_spanlist
gf_format_t
Endianness
gf_i2c_read
gf_i2c_write
gf_i2c_writeread
gf_layer_attach
gf_layer_choose_format
gf_layer_detach
gf_layer_disable
gf_layer_enable
gf_layer_query
gf_layer_set_blending
gf_layer_set_brightness
gf_layer_set_chroma
gf_layer_set_contrast
gf_layer_set_dst_viewport
gf_layer_set_edge
gf_layer_set_filter
gf_layer_set_hue
gf_layer_set_outputs
gf_layer_set_saturation
gf_layer_set_src_viewport
gf_layer_set_surfaces
gf_layer_update
gf_layer_update_multi
gf_palette_t
The gf_color_t Type
gf_point_t
gf_surface_attach
gf_surface_attach_by_sid
gf_surface_create
gf_surface_create_layer
gf_surface_free
gf_surface_get_dev
gf_surface_get_info
gf_surface_reattach
gf_vcap_attach
gf_vcap_bind_to_layer
gf_vcap_detach
gf_vcap_disable
gf_vcap_enable
gf_vcap_set_brightness
gf_vcap_set_contrast
gf_vcap_set_flags
gf_vcap_set_input_dimensions
gf_vcap_set_input_source
gf_vcap_set_input_viewport
gf_vcap_set_output_dimensions
gf_vcap_set_saturation
gf_vcap_set_sync_values
gf_vcap_update
QNX Image Library Reference
Functions
Macros
Structures
img_cfg_read
img_codec_get_criteria
img_codec_list
img_codec_list_byext
img_codec_list_bymime
img_convert_data
The img_format_t type
img_convert_getfunc
img_crop
img_decode_begin
img_decode_callouts_t
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
uintptr_t data
img_decode_finish
img_decode_frame
img_decode_validate
img_dtransform
img_dtransform_apply
img_dtransform_create
img_dtransform_free
img_encode_begin
img_encode_callouts_t
img_encode_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
img_encode_frame
img_expand_getfunc
IMG_FMT_BPL
IMG_FMT_BPP
img_lib_attach
The img.conf Configuration File
img_lib_detach
img_load
img_load_file
img_load_resize_file
img_resize_fs
img_rotate_ortho
img_t
img_write_file
img_write
io_close
io_open
What's New
What's new after QNX Neutrino Core Graphics for 6.5.0 Service Pack 1
What's new in QNX Neutrino Core Graphics for 6.5.0 Service Pack 1
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
Keyword Index
0
A
B
C
D
E
F
G
H
I
L
M
N
O
P
R
S
T
V
W
QNX Neutrino Composition Manager
Composition Manager
About This Guide
What's in this guide?
Typographical conventions
Note to Windows users
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
Composited frame-buffer
Layers, WFD pipelines and EGL levels
Composition Modules
Cursors
io-winmgr
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
Options:
Notes:
Tutorials
Community
Composition Manager Extensions
KD_QNX_window
Functions:
kdPostWindowEventQNX( )
KDint32 kdSetWindowOrderQNX( )
Properties:
Events:
KD_QNX_input
Functions:
kdOutputSetpQNX()
Events:
I/O groups and items
KD_IOGROUP_KEYBOARD_QNX
KD_QNX_IOGROUP_DISP_GROUP
KD_QNX_IOGROUP_ASSIGN_GROUP
What's New
What's new in Composition Manager for 6.5.0
QNX Neutrino Core Networking Stack
Core Networking Stack User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Overview
What's new in the networking stack?
Architecture of io-pkt
Threading model
Threading priorities
Components of core networking
Packet Filtering
Packet Filters
Packet Filter interface
Packet Filter (pf) module: firewalls and NAT
Berkeley Packet Filter
IP Security and Hardware Encryption
Setting up an IPsec connection: examples
Between two boxes manually
With authentication using the preshared-key method
IPsec tools
OpenSSL support
Hardware-accelerated crypto
Supported hardware crypto engines
Wi-Fi Configuration Using WPA and WEP
802.11 a/b/g Wi-Fi Support
NetBSD 802.11 layer
Device management
Nodes
Crypto support
Using Wi-Fi with io-pkt
Connecting to a wireless network
Using no encryption
Using WEP (Wired Equivalent Privacy) for authentication and encryption
Using WPA/WPA2 for authentication and encryption
Background on WPA
WPA utilities
Connecting with WPA or WPA2
Personal-level authentication and Enterprise-level authentication
Using wpa_supplicant to manage your wireless network connections
Using a Wireless Access Point (WAP)
Creating A WAP
Acting as a gateway
Acting as a bridge
WEP access point
WPA access point
TCP/IP configuration in a wireless network
Client in infrastructure or ad hoc mode
DHCP server on WAP acting as a gateway
Launching the DHCP server on your gateway
DHCP server configuration file
Launching the DHCP relay agent on your gateway
Configuring an access point as a router
Transparent Distributed Processing
TDP and io-pkt
Using TDP over IP
Network Drivers
Types of network drivers
Differences between ported NetBSD drivers and native drivers
Differences between io-net drivers and other drivers
Loading and unloading a driver
Troubleshooting a driver
Problems with shared interrupts
Writing a new driver
Debugging a driver using gdb
Dumping 802.11 debugging information
Jumbo packets and hardware checksumming
Padding Ethernet packets
Transmit Segmentation Offload (TSO)
Utilities, Managers, and Configuration Files
Migrating from io-net
Overview
Compatibility between io-net and io-pkt
Compatibility issues
Behavioral differences
Simultaneous support
Discontinued features
Using pfil hooks to implement an io-net filter
Glossary
Keyword Index
!
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
Porting an io-net driver 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 Driver Development Kit Guide
About the Audio DDK
What you'll find in this guide
Supported features
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
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
ado_calloc
ado_card_set_longname
ado_card_set_shortname
ado_debug
ado_device_mmap
ado_device_munmap
ado_error
ado_free
ado_malloc
ado_memory_dump
ado_mixer_capture_group_create
ado_mixer_create
ado_mixer_dll
ado_mixer_element_accu1
ado_mixer_element_accu2
ado_mixer_element_accu3
ado_mixer_element_io
ado_mixer_element_mux1
ado_mixer_element_mux2
ado_mixer_element_notify
ado_mixer_element_pcm1
ado_mixer_element_pcm2
ado_mixer_element_route_add
ado_mixer_element_sw1
ado_mixer_element_sw2
ado_mixer_element_sw3
ado_mixer_element_vol_range_max
ado_mixer_element_vol_range_min
ado_mixer_element_volume1
ado_mixer_find_element
ado_mixer_find_group
ado_mixer_get_context
ado_mixer_get_element_instance_data
ado_mixer_lock
ado_mixer_playback_group_create
ado_mixer_set_destroy_func
ado_mixer_set_name
ado_mixer_set_reset_func
ado_mixer_switch_new
ado_mixer_unlock
ado_mutex_destroy
ado_mutex_init
ado_mutex_lock
ado_mutex_unlock
ado_pci
ado_pci_device
ado_pci_release
ado_pcm_cap_t
ado_pcm_config_t
ado_pcm_chn_mixer
ado_pcm_create
ado_pcm_dma_int_size
ado_pcm_format_bit_width
ado_pcm_hw_t
aquire
release
prepare
trigger
position
reconstitute
capabilities
ado_pcm_subchn_caps
ado_pcm_subchn_is_channel
ado_pcm_subchn_mixer
ado_pcm_subchn_mixer_create
ado_pcm_subchn_mixer_config_t structure
ado_pcm_subchn_mixer_destroy
ado_pcm_sw_mix
ado_realloc
ado_rwlock_destroy
ado_rwlock_init
ado_rwlock_rdlock
ado_rwlock_unlock
ado_rwlock_wrlock
ado_shm_alloc
ado_shm_free
ado_shm_mmap
ado_strdup
dma_interrupt
Supported Codecs
Audio Codec 97 (AC97)
AK4531
Sample Mixer Source
Glossary
Keyword Index
A
C
D
E
H
I
L
M
P
R
S
T
Character Driver Development Kit Guide
About the Character DDK
What you'll find in this guide
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
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
iochar_send_event
kick
timer_queue
timer_remove
ttc
tti
tti2
tto_checkclients
tto_getchar
TTYCTRL
TTYDEV
TTYINIT
tx_inject
wait_add
wait_remove_rcvid
Keyword Index
C
D
E
F
I
K
L
N
O
P
Q
S
T
W
Graphics Driver Development Kit Guide
About the Graphics DDK
What you'll find in this guide
Assumptions
Typographical conventions
Note to Windows users
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
devg_get_corefuncs
devg_get_memfuncs
devg_get_miscfuncs
devg_get_modefuncs
devg_get_rendfuncs
devg_get_vcapfuncs
disp_2d_caps_t
disp_adapter_t
Callbacks
DISP_ADD_FUNC
disp_crtc_settings_t
disp_draw_context_t
Chroma mode bits
Alpha mode bits (alpha_mode)
Alpha mode blending (source) operation
Alpha mode blending (destination) operation
disp_draw_contextfuncs_t
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
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
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
disp_memfuncs_t
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
disp_modefuncs_t
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
disp_surface_t
Relationship of stride, height, and width
flags
disp_vcap_props_t
disp_vcapfuncs_t
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
Keyword Index
!
0
A
B
C
D
E
F
G
H
I
L
M
P
Q
R
S
T
U
V
W
Input Driver Development Kit Guide
About the Input DDK
What you'll find in this guide
Building DDKs
Typographical conventions
Note to Windows users
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
Module Functions
devctrl
init
input
output
parm
pulse
reset
shutdown
Input API Reference
begin
buff_append
buff_create
buff_delete
buff_flush
buff_getc
buff_putc
buff_waiting
clk_get
devi_enqueue_packet
devi_register_interrupt
devi_register_pulse
devi_register_timer
devi_request_iorange
Keyword Index
A
B
C
D
E
F
G
H
I
K
L
M
O
P
R
S
T
USB Driver Development Kit Guide
About the USB DDK
What you'll find in this guide
Assumptions
Building DDKs
Typographical conventions
Note to Windows users
Technical support
Before You Begin
System requirements
USB devices supported
Known limitations
Overview
The USB stack and library
Host Controller Interface (HCI) types
Data buffers
USB enumerator
How a class driver works
USB Utilities
USB Library Reference
Functions arranged by category
Connection functions
Memory-management functions
I/O functions
Pipe-management functions
Configuration and interface functions
Miscellaneous and convenience functions
usbd_abort_pipe
usbd_alloc
usbd_alloc_urb
usbd_args_lookup
usbd_attach
Looping
usbd_close_pipe
usbd_configuration_descriptor
usbd_connect
Data structures
usbd_descriptor
usbd_detach
usbd_device_descriptor
usbd_device_extra
usbd_device_lookup
usbd_disconnect
usbd_endpoint_descriptor
usbd_feature
usbd_free
usbd_free_urb
usbd_get_frame
usbd_hcd_ext_info, usbd_hcd_info
usbd_hub_descriptor
usbd_interface_descriptor
usbd_io
usbd_languages_descriptor
usbd_mphys
usbd_open_pipe
usbd_parse_descriptors
usbd_pipe_device
usbd_pipe_endpoint
usbd_reset_device
usbd_reset_pipe
usbd_select_config
usbd_select_interface
usbd_setup_bulk
usbd_setup_control
usbd_setup_interrupt
usbd_setup_isochronous
usbd_setup_vendor
usbd_status
usbd_string
usbd_topology, usbd_topology_ext
usbd_urb_status
Completion status
Keyword Index
A
B
C
D
E
F
H
I
K
L
M
O
P
R
S
T
U
V
QNX Neutrino High Availability Framework
High Availability Framework Developer's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
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
Flags
ham_action_execute
ham_action_fail_execute
ham_action_fail_log
ham_action_fail_notify_pulse, ham_action_fail_notify_pulse_node
ham_action_fail_notify_signal, ham_action_fail_notify_signal_node
ham_action_fail_waitfor
ham_action_handle, ham_action_handle_node
ham_action_handle_free
ham_action_heartbeat_healthy
ham_action_log
ham_action_notify_pulse, ham_action_notify_pulse_node
ham_action_notify_signal, ham_action_notify_signal_node
ham_action_remove
ham_action_restart
ham_action_waitfor
ham_attach, ham_attach_node
ham_attach_self
ham_condition
ham_condition_control
Flags
ham_condition_handle, ham_condition_handle_node
ham_condition_handle_free
ham_condition_raise
ham_condition_remove
ham_condition_state
Flags
ham_connect, ham_connect_nd, ham_connect_node
ham_detach
ham_detach_name, ham_detach_name_node
ham_detach_self
ham_disconnect, ham_disconnect_nd, ham_disconnect_node
ham_entity, ham_entity_node
ham_entity_condition_raise
ham_entity_condition_state
ham_entity_control
Flags
ham_entity_handle, ham_entity_handle_node
ham_entity_handle_free
ham_heartbeat
ham_stop, ham_stop_nd, ham_stop_node
ham_verbose
Client Recovery Library Reference
ha_attach
ha_close
ha_connection_ctrl
ha_ConnectAttach, ha_ConnectAttach_r
ha_ConnectDetach, ha_ConnectDetach_r
ha_creat, ha_creat64
ha_detach
ha_dup
ha_fclose
ha_fopen
ha_open, ha_open64
ha_ReConnectAttach
ha_reopen
Examples
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
Keyword Index
!
A
C
D
E
F
G
H
I
M
N
O
P
Q
R
S
T
V
W
QNX Neutrino Instant Device Activation
Instant Device Activation User's Guide
About This Guide
Typographical conventions
Note to Windows users
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
Timing requirements
Data storage
Handler function
Hardware access
Debugging from within the minidriver
Customizing the startup program to include your minidriver
Making the transition to a full driver
Making a boot image that includes your minidriver
Sample Minidriver
The minidriver handler function
Adding your minidriver to the system
Test application: mini-peeker.c
Transition from minidriver to full driver
APIs and Datatypes
mdriver_add
mdriver_max
mdriver_entry
Sample Drivers for Instant Device Activation
FreeScale Media5200b sample minidriver
The minidriver handler function
Adding your minidriver to the system
Build startup
Testing your minidriver
Sample timings
Renesas Biscayne minidriver
The minidriver handler function
Adding your minidriver to the system
Build startup
Testing your minidriver
Sample Timings
OMAP 5912 minidriver
Adding your minidriver to the system
Build startup
Testing your minidriver
Sample timings
Hardware Interaction within the Minidriver
Keyword Index
A
B
C
D
E
F
G
H
I
K
M
O
P
R
S
T
QNX Neutrino Multicore Processing
Multicore Processing User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
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
Keyword Index
A
B
C
F
I
M
N
O
P
R
S
T
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
Technical support
Overview
An Example
Library components
Addon Interfaces Library Reference
AOI Structures
AOI Functions
AOICtrl_t
AOInterface_t
AoAdd
AoAddDirectory
AoAddStatic
AoAddUnloadSignal
AoGetInterface
AoHold
AoIterate
AoIterateHoldGet
AoRelease
AoRemove
AoFindExt
AoFindFormats
AoFindMime
AoFindName
AoFindStreams
AoOpenFilespec
Implemented Interfaces
Built-in Interfaces
AODeConstructor
Create
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
AOMimeInfo_t
AOResource_t
AOAudioFormat_t
ImageFormat_t
MediaFormat_t
VideoFormat_t
Audio Developer's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
What's new in this release?
What's new in QNX Neutrino
What's new in QNX Neutrino 6.5.0 Service Pack 1
What's new in QNX Neutrino 6.5.0
What's new in QNX Neutrino 6.4
What's new in QNX Neutrino 6.3
What's new in QNX Neutrino 6.2
What's new in QNX Neutrino 6.1
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
snd_card_get_name
snd_card_name
snd_cards
snd_cards_list
snd_ctl_callbacks_t
rebuild callback
xswitch callback
snd_ctl_close
snd_ctl_file_descriptor
snd_ctl_hw_info
snd_ctl_hw_info_t
snd_ctl_mixer_switch_list
snd_ctl_mixer_switch_read
snd_ctl_mixer_switch_write
snd_ctl_open
snd_ctl_pcm_channel_info
snd_ctl_pcm_info
snd_ctl_read
snd_mixer_callbacks_t
rebuild callback
element callback
group callback
snd_mixer_close
snd_mixer_eid_t
snd_mixer_element_read
snd_mixer_element_t
snd_mixer_element_write
snd_mixer_elements
snd_mixer_elements_t
snd_mixer_file_descriptor
snd_mixer_filter_t
snd_mixer_get_bit
snd_mixer_get_filter
snd_mixer_gid_t
snd_mixer_group_read
snd_mixer_group_t
snd_mixer_group_write
snd_mixer_groups
snd_mixer_groups_t
snd_mixer_info
snd_mixer_info_t
snd_mixer_open
snd_mixer_open_name
snd_mixer_read
snd_mixer_routes
snd_mixer_routes_t
snd_mixer_set_bit
snd_mixer_set_filter
snd_mixer_sort_eid_table
snd_mixer_sort_gid_table
snd_mixer_weight_entry_t
snd_pcm_build_linear_format
snd_pcm_capture_flush
snd_pcm_capture_go
snd_pcm_capture_pause
snd_pcm_capture_prepare
snd_pcm_capture_resume
snd_pcm_channel_flush
snd_pcm_channel_go
snd_pcm_channel_info
snd_pcm_channel_info_t
snd_pcm_channel_params
snd_pcm_channel_params_t
snd_pcm_channel_pause
snd_pcm_channel_prepare
snd_pcm_channel_resume
snd_pcm_channel_setup
snd_pcm_channel_setup_t
snd_pcm_channel_status
snd_pcm_channel_status_t
snd_pcm_close
snd_pcm_file_descriptor
snd_pcm_find
snd_pcm_format_big_endian
snd_pcm_format_linear
snd_pcm_format_little_endian
snd_pcm_format_signed
snd_pcm_format_size
snd_pcm_format_t
snd_pcm_format_unsigned
snd_pcm_format_width
snd_pcm_get_format_name
snd_pcm_info
snd_pcm_info_t
snd_pcm_nonblock_mode
snd_pcm_open
snd_pcm_open_name
snd_pcm_open_preferred
snd_pcm_playback_drain
snd_pcm_playback_flush
snd_pcm_playback_go
snd_pcm_playback_pause
snd_pcm_playback_prepare
snd_pcm_playback_resume
snd_pcm_plugin_flush
snd_pcm_plugin_get_voice_conversion
snd_pcm_plugin_info
snd_pcm_plugin_params
snd_pcm_plugin_playback_drain
snd_pcm_plugin_prepare
snd_pcm_plugin_read
snd_pcm_plugin_set_disable
snd_pcm_plugin_set_src_method
snd_pcm_plugin_set_src_mode
snd_pcm_plugin_set_voice_conversion
snd_pcm_plugin_setup
snd_pcm_plugin_src_max_frag
snd_pcm_plugin_status
snd_pcm_plugin_update_src
snd_pcm_plugin_write
snd_pcm_read
snd_pcm_voice_conversion_t
snd_pcm_write
snd_strerror
snd_switch_t
wave.c example
waverec.c example
mixer_ctl.c example
LGPL License Agreement
Glossary
Keyword Index
!
0
A
B
C
D
E
F
H
I
L
M
N
O
P
Q
R
S
T
U
V
Building Embedded Systems
About This Book
What you'll find in this guide
Typographical conventions
Note to Windows users
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
Keyword Index
!
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
C Library Reference
About This Reference
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
What's in a Function Description?
Synopsis:
Arguments:
Library:
Description:
Returns:
Errors:
See also:
Examples:
Classification:
Function safety:
Manifests
QNX Neutrino Functions and Macros
A
abort
abs
accept
access
acos, acosf, acosl
acosh, acoshf, acoshl
addrinfo
aio_cancel
aio_error
aio_fsync
aio_read
aio_return
aio_suspend
aio_write
aiocb
alarm
alloca
alphasort
_amblksiz
_argc
_argv
asctime, asctime_r
asin, asinf, asinl
asinh, asinhf, asinhl
assert
asyncmsg_channel_create
Callback function
asyncmsg_channel_destroy
asyncmsg_connect_attach
asyncmsg_connect_attr
asyncmsg_connect_detach
_asyncmsg_connection_attr
asyncmsg_flush
asyncmsg_free
asyncmsg_get
_asyncmsg_get_header structure
asyncmsg_malloc
asyncmsg_put, asyncmsg_putv
atan, atanf, atanl
atan2, atan2f
atanh, atanhf, atanhl
atexit
atof
atoh
atoi
atol, atoll
atomic_add
atomic_add_value
atomic_clr
atomic_clr_value
atomic_set
atomic_set_value
atomic_sub
atomic_sub_value
atomic_toggle
atomic_toggle_value
_auxv
B
basename
bcmp
bcopy
bind
bindresvport
bsearch
bt_get_backtrace
bt_init_accessor
bt_load_memmap
bt_release_accessor
bt_set_flags
bt_sprn_memmap
bt_sprnf_addrs
bt_translate_addrs
bt_unload_memmap
_btext
btowc
bzero
C
cabs, cabsf, cabsl
cache_fini
CACHE_FLUSH
cache_init
Members of the cache_ctrl structure
Cache coherency
CACHE_INVAL
calloc
cbrt, cbrtf
ceil, ceilf
cfgetispeed
cfgetospeed
cfgopen
Search condition flags
cfmakeraw
cfree
cfsetispeed
cfsetospeed
ChannelCreate, ChannelCreate_r
Blocking states
ChannelDestroy, ChannelDestroy_r
Blocking states
chdir
chmod
chown
chroot
chsize
clearenv
clearerr
clock
clock_getcpuclockid
clock_getres
clock_gettime
clock_nanosleep
clock_settime
ClockAdjust, ClockAdjust_r
Blocking states:
ClockCycles
Symmetric MultiProcessing systems
Blocking states:
ClockId, ClockId_r
Blocking states:
ClockPeriod, ClockPeriod_r
Blocking states
ClockTime, ClockTime_r
Blocking states
close
closedir
closelog
_cmdfd
_cmdname
confstr
connect
ConnectAttach, ConnectAttach_r
Blocking states
Node descriptors
ConnectClientInfo, ConnectClientInfo_r
_client_info structure
uint32_t nd
_cred_info structure
ConnectDetach, ConnectDetach_r
Blocking states
ConnectFlags, ConnectFlags_r
ConnectServerInfo, ConnectServerInfo_r
_server_info structure
copysign, copysignf
cos, cosf, cosl
cosh, coshf, coshl
creat, creat64
crypt
ctermid
ctime, ctime_r
D
daemon
daylight
DebugBreak
Blocking states
DebugKDBreak
Blocking states
DebugKDOutput
Blocking states
delay
devctl, devctlv
Device-control commands
Example 1: Setting RTS on a serial port
Example 2: Cycling through Caps Lock, Num Lock, and Scroll Lock
Example 3: Duration example
difftime
dircntl
Flag values
dirent
dirname
dispatch_block
dispatch_context_alloc
dispatch_context_free
dispatch_create
dispatch_create_channel
dispatch_destroy
dispatch_handler
dispatch_timeout
dispatch_unblock
div
dladdr
dlclose
dlerror
dlopen
The mode
Relocation
Visibility
Symbol scope
Other flags
Symbol resolution
dlsym
dn_comp
dn_expand
drand48
ds_clear
ds_create
ds_deregister
ds_flags
ds_get
ds_register
ds_set
dup
dup2
E
eaccess
_edata
encrypt
_end
endfsent
endgrent
endhostent
ENDIAN_BE16
ENDIAN_BE32
ENDIAN_BE64
ENDIAN_LE16
ENDIAN_LE32
ENDIAN_LE64
ENDIAN_RET16
ENDIAN_RET32
ENDIAN_RET64
ENDIAN_SWAP16
ENDIAN_SWAP32
ENDIAN_SWAP64
endnetent
endprotoent
endpwent
endservent
endspent
endutent
environ
eof
erand48
erf, erff
erfc, erfcf, erfcl
err, errx
errno
Changes to EALREADY
_etext
execl
exec* summary
execle
exec* summary
execlp
exec* summary
execlpe
exec* summary
execv
exec* summary
execve
exec* summary
execvp
exec* summary
execvpe
exec* summary
_exit
exit
exp, expf, expl
expm1, expm1f
F
fabs, fabsf
fcfgopen
fchdir
fchmod
fchown
fclose
fcloseall
fcntl
flock structure
fdatasync
fdopen
feof
ferror
fflush
ffs
fgetc
fgetchar
fgetpos
fgets
fgetspent
fgetwc
fgetws
fileno
flink
flock
flockfile
floor, floorf
flushall
fmod, fmodf, fmodl
fnmatch
Pattern Matching Special Characters
fopen, fopen64
Adjusting the buffer size
fork
forkpty
fp_exception_mask
fp_exception_value
fp_precision
fp_rounding
fp_setenv
fpathconf
fprintf
fputc
fputchar
fputs
fputwc
fputws
fread
free
freeaddrinfo
freeifaddrs
freopen, freopen64
frexp, frexpf
fscanf
fseek, fseeko, fseeko64
fsetpos
fstat, fstat64
fstatvfs, fstatvfs64
fsync
ftell, ftello, ftello64
ftime
ftruncate, ftruncate64
ftrylockfile
ftw, ftw64
funlockfile
futime
fwide
fwprintf
fwrite
fwscanf
G
gai_strerror
gamma, gamma_r, gammaf, gammaf_r
getaddrinfo
Using the hints argument
Using the ai_flags argument in the hints structure
Pitfalls
getc
getc_unlocked
getchar
getchar_unlocked
getcwd
getdomainname
getdtablesize
getegid
getenv
geteuid
getfsfile
getfsent
The fstab structure
getfsspec
getgid
getgrent
getgrgid
getgrgid_r
getgrnam
getgrnam_r
getgrouplist
getgroups
gethostbyaddr
gethostbyaddr_r
gethostbyname, gethostbyname2
gethostbyname_r
gethostent
gethostent_r
gethostname
getifaddrs
GETIOVBASE
GETIOVLEN
getitimer
getlogin
getlogin_r
getnameinfo
getnetbyaddr
getnetbyname
getnetent
getopt
Utility Syntax Guidelines
getpagesize
getpagesizes, getpagesizes64
getpass
getpeereid
getpeername
getpgid
getpgrp
getpid
getppid
getprio
getprotobyname
getprotobynumber
getprotoent
getpwent
getpwent_r
getpwnam
getpwnam_r
getpwuid
getpwuid_r
getrlimit, getrlimit64
getrusage
gets
getservbyname
getservbyport
getservent
getsid
getsockname
getsockopt
Manipulating socket options
Options
IP_HDRINCL
IP_TOS
SO_ACCEPTCONN (read-only)
SO_BINDTODEVICE (write-only)
SO_BROADCAST
SO_DEBUG
SO_DONTROUTE
SO_ERROR (read-only)
SO_KEEPALIVE
SO_LINGER
SO_OOBINLINE
SO_OVERFLOWED (read-only)
SO_RCVBUF and SO_SNDBUF
SO_RCVLOWAT
SO_RCVTIMEO
SO_REUSEADDR
SO_REUSEPORT
SO_SNDLOWAT
SO_SNDTIMEO
SO_TIMESTAMP
SO_TYPE (read-only)
SO_USELOOPBACK
TCP_KEEPALIVE
TCP_NODELAY
Keepalive timing
getspent, getspent_r
getspnam, getspnam_r
getsubopt
gettid
gettimeofday
getuid
getutent
getutid
getutline
getw
getwc
getwchar
getwd
glob
globfree
gmtime
gmtime_r
grantpt
H
h_errno
hcreate
hdestroy
herror
hostent
hsearch
hstrerror
htonl
htons
hwi_find
hwi_find_bus
hwi_find_device
hwi_find_devicebus
hwi_find_item
hwi_find_num_units
hwi_find_tag
hwi_find_unit
hwi_next_item
hwi_next_tag
hwi_off2tag
hwi_tag2off
hwi_tag_find
hwiattr_get, hwiattr_get_*
hwitag_find_busattr
hwitag_find_clkfreq
hwitag_find_errata
hwitag_find_ivec
hwitag_find_nicaddr
hwitag_find_phyaddr
hypot, hypotf
I
ICMP
ICMP6
ICMP6 type/code filter
if_freenameindex
if_indextoname
if_nameindex
if_nametoindex
ifaddrs
ilogb, ilogbf
in8
in8s
in16, inbe16, inle16
in16s
in32, inbe32, inle32
in32s
index
inet_addr
inet_aton
inet_lnaof
inet_makeaddr
inet_net_ntop
Network Numbers (IPv4 Internet addresses)
inet_netof
inet_net_pton
inet_network
inet_ntoa
inet_ntoa_r
inet_ntop
inet_pton
AF_INET addresses
AF_INET6 addresses
INET6
Addressing
Interaction between IPv4/v6 sockets
inet6_option_alloc
inet6_option_append
inet6_option_find
inet6_option_init
inet6_option_next
inet6_option_space
inet6_rthdr_add
inet6_rthdr_getaddr
inet6_rthdr_getflags
inet6_rthdr_init
inet6_rthdr_lasthop
inet6_rthdr_reverse
inet6_rthdr_segments
inet6_rthdr_space
initgroups
initstate
input_line
insque
InterruptAttach, InterruptAttach_r
Interrupt vector numbers
Interrupt handler function
Flags
Blocking states
InterruptAttachEvent, InterruptAttachEvent_r
Flags
Advantages & disadvantages
Blocking states
InterruptDetach, InterruptDetach_r
Blocking states
InterruptDisable
InterruptEnable
InterruptHookIdle
Blocking states
InterruptHookTrace
Blocking states
InterruptLock
InterruptMask
InterruptStatus
InterruptUnlock
InterruptUnmask
InterruptWait, InterruptWait_r
Blocking states
_intr_v86
_io_connect
_io_connect_ftype_reply
_io_connect_link_reply
ioctl, ioctl_socket
I/O control commands
How ioctl commands map to other commands
Commands with special handling in ioctl_socket
iofdinfo
iofunc_attr_init
iofunc_attr_lock
iofunc_attr_t
iofunc_attr_trylock
iofunc_attr_unlock
iofunc_check_access
iofunc_chmod
io_chmod_t structure
iofunc_chmod_default
iofunc_chown
io_chown_t structure
iofunc_chown_default
iofunc_client_info
iofunc_close_dup
io_close_t structure
iofunc_close_dup_default
iofunc_close_ocb
iofunc_close_ocb_default
iofunc_devctl
io_devctl_t structure
iofunc_devctl_default
iofunc_fdinfo
iofunc_fdinfo_default
io_fdinfo_t structure
iofunc_func_init
iofunc_link
io_link_t structure
iofunc_lock
io_lock_t structure
iofunc_lock_calloc
iofunc_lock_default
iofunc_lock_free
iofunc_lock_ocb_default
iofunc_lseek
io_lseek_t structure
iofunc_lseek_default
iofunc_mknod
io_mknod_t structure
iofunc_mmap
io_mmap_t structure
iofunc_mmap_default
iofunc_notify
io_notify_t structure
iofunc_notify_t structure
iofunc_notify_remove, iofunc_notify_remove_strict
iofunc_notify_trigger, iofunc_notify_trigger_strict
iofunc_ocb_attach
iofunc_ocb_calloc
iofunc_ocb_detach
iofunc_ocb_free
iofunc_ocb_t
iofunc_open
io_open_t structure
iofunc_open_default
iofunc_openfd
io_openfd_t structure
iofunc_openfd_default
iofunc_pathconf
io_pathconf_t structure
iofunc_pathconf_default
iofunc_read_default
iofunc_read_verify
io_read_t structure
iofunc_readlink
iofunc_rename
io_rename_t structure
iofunc_space_verify
io_space_t structure
iofunc_stat
iofunc_stat_default
io_stat_t structure
iofunc_sync
iofunc_sync_default
iofunc_sync_verify
io_sync_t structure
iofunc_time_update
iofunc_unblock
iofunc_unblock_default
iofunc_unlink
io_unlink_t structure
iofunc_unlock_ocb_default
iofunc_utime
io_utime_t structure
iofunc_utime_default
iofunc_write_default
iofunc_write_verify
io_write_t structure
ionotify
Flags
Actions
IP
Multicasting
Multicast Options
IPsec
Kernel interface
Policy management
Miscellaneous sysctl variables
Protocols
Setting the policy
Arguments for request
ipsec_dump_policy
ipsec_get_policylen
ipsec_set_policy
ipsec_strerror
IP6
Basic IP6 sockets API
Advanced IP6 sockets API
Advanced API and TCP sockets
Conflict resolution
Raw IP6 Sockets
iruserok, iruserok_sa
isalnum
isalpha
isascii
isatty
isblank
iscntrl
isdigit
isfdtype
isfinite
isgraph
isinf
islower
isnan
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
itoa
J
j0, j0f
j1, j1f
jn, jnf
jrand48
K
kill
killpg
L
labs
lchown
lcong48
ldexp, ldexpf, ldexpl
ldiv
lfind
lgamma, lgamma_r, lgammaf, lgammaf_r
link
lio_listio, lio_listio64
listen
llabs
localeconv
localtime
localtime_r
lockf
log, logf, logl
log10, log10f, log10l
log1p, log1pf, log1pl
logb, logbf
login_tty
longjmp
lrand48
lsearch
lseek, lseek64
lstat, lstat64
ltoa, lltoa
ltrunc
M
main
mallinfo
malloc
mallopt
Controlling memory allocation
Controlling extra checking
Variables supported by libc and librcheck
Variables supported only by librcheck
Reverting to the behavior of Neutrino 6.2
max
mblen
mbrlen
mbrtowc
mbsinit
mbsrtowcs
mbstowcs
mbtowc
mcheck
mem_offset, mem_offset64
memalign
memccpy
memchr
memcmp
memcpy
memcpyv
memicmp
memmove
memset
message_attach
message_attr_t structure
Handler function
message_connect
message_detach
min
mkdir
mkfifo
mknod
mkstemp
mktemp
mktime
mlock
mlockall
mmap, mmap64
mmap_device_io
mmap_device_memory
modem_open
modem_read
modem_script
State 1
State 2
State 3
State 4
State 5
modem_write
modf, modff
mount
mount_parse_generic_args
mprobe
mprotect
mq_close
mq_getattr
mq_notify
mq_open
mq_receive
mq_send
mq_setattr
mq_timedreceive, mq_timedreceive_monotonic
mq_timedsend, mq_timedsend_monotonic
mq_unlink
mrand48
_msg_info
Node descriptors
MsgCurrent, MsgCurrent_r
Blocking states
MsgDeliverEvent, MsgDeliverEvent_r
Blocking states
Native networking
MsgError, MsgError_r
Blocking states
Native networking
MsgInfo, MsgInfo_r
Blocking states
MsgKeyData, MsgKeyData_r
Blocking states
MsgRead, MsgRead_r
Blocking states
Native networking
MsgReadv, MsgReadv_r
Blocking states
MsgReceive, MsgReceive_r
Blocking states
Native networking
MsgReceivePulse, MsgReceivePulse_r
Blocking states
MsgReceivePulsev, MsgReceivePulsev_r
Blocking states
MsgReceivev, MsgReceivev_r
Blocking states
MsgReply, MsgReply_r
Blocking states
Native networking
MsgReplyv, MsgReplyv_r
Blocking states
MsgSend, MsgSend_r
Blocking states
Native networking
MsgSendnc, MsgSendnc_r
Blocking states
MsgSendPulse, MsgSendPulse_r
Blocking states
Native networking
MsgSendsv, MsgSendsv_r
Blocking states
MsgSendsvnc, MsgSendsvnc_r
Blocking states
MsgSendv, MsgSendv_r
Blocking states
MsgSendvnc, MsgSendvnc_r
Blocking states
MsgSendvs, MsgSendvs_r
Blocking states
MsgSendvsnc, MsgSendvsnc_r
Blocking states
MsgVerifyEvent, MsgVerifyEvent_r
Blocking states
MsgWrite, MsgWrite_r
Blocking states
Native networking
MsgWritev, MsgWritev_r
Blocking states
msync
munlock
munlockall
munmap
munmap_device_io
munmap_device_memory
munmap_flags
N
name_attach
name_attach_t
name_close
name_detach
name_open
nanosleep
nanospin
nanospin_calibrate
nanospin_count
nanospin_ns
nanospin_ns_to_count
nap
napms
nbaconnect
nbaconnect_result
ncurses
ND_NODE_CMP
netent
netmgr_ndtostr
netmgr_remote_nd
netmgr_strtond
nextafter, nextafterf
nftw, nftw64
nice
nrand48
nsec2timespec
_NTO_TRACE_GET*, _NTO_TRACE_SET*
ntohl
ntohs
O
offsetof
open, open64
opendir
openfd
openlog
openpty
out8
out8s
out16, outbe16, outle16
out16s
out32, outbe32, outle32
out32s
P
pathconf
pathfind, pathfind_r
pathmgr_link
The flags argument
Node descriptors
pathmgr_symlink
pathmgr_unlink
pause
pccard_arm
pccard_attach
pccard_detach
pccard_info
_pccard_info structure
pccard_lock
pccard_raw_read
pccard_unlock
pci_attach
pci_attach_device
pci_dev_info structure
Flags
Testing and converting addresses
pci_detach
pci_detach_device
pci_find_class
pci_find_device
pci_irq_routing_options
pci_map_irq
pci_present
pci_read_config
pci_read_config8
pci_read_config16
pci_read_config32
pci_rescan_bus
pci_write_config
pci_write_config8
pci_write_config16
pci_write_config32
pclose
perror
pipe
poll
popen
posix_fadvise, posix_fadvise64
posix_fallocate, posix_fallocate64
posix_madvise
posix_mem_offset, posix_mem_offset64
posix_memalign
posix_openpt
posix_spawn, posix_spawnp
File actions
Attributes
posix_spawn_file_actions_addclose
posix_spawn_file_actions_adddup2
posix_spawn_file_actions_destroy
posix_spawn_file_actions_init
posix_spawnattr_addpartid
posix_spawnattr_addpartition
posix_spawnattr_destroy
posix_spawnattr_getcred
posix_spawnattr_getflags
posix_spawnattr_getnode
posix_spawnattr_getpartid
posix_spawnattr_getpgroup
posix_spawnattr_getrunmask
posix_spawnattr_getschedparam
posix_spawnattr_getschedpolicy
posix_spawnattr_getsigdefault
posix_spawnattr_getsigignore
posix_spawnattr_getsigmask
posix_spawnattr_getstackmax
posix_spawnattr_getxflags
posix_spawnattr_init
posix_spawnattr_setcred
posix_spawnattr_setflags
posix_spawnattr_setnode
posix_spawnattr_setpgroup
posix_spawnattr_setrunmask
posix_spawnattr_setschedparam
posix_spawnattr_setschedpolicy
posix_spawnattr_setsigdefault
posix_spawnattr_setsigignore
posix_spawnattr_setsigmask
posix_spawnattr_setstackmax
posix_spawnattr_setxflags
posix_typed_mem_get_info
posix_typed_mem_open
pow, powf, powl
pread, pread64
printf
Format Arguments
Format control string
Format control flags
Field width
Precision specifier
Type length specifier
Conversion type specifiers
procmgr_daemon
procmgr_event_notify
Event types
procmgr_event_notify_add
Event types
procmgr_event_notify_delete
procmgr_event_trigger
procmgr_guardian
procmgr_session
__progname
protoent
pthread_abort
pthread_atfork
pthread_attr_destroy
pthread_attr_getdetachstate
pthread_attr_getguardsize
pthread_attr_getinheritsched
pthread_attr_getschedparam
pthread_attr_getschedpolicy
pthread_attr_getscope
pthread_attr_getstack
pthread_attr_getstackaddr
pthread_attr_getstacklazy
pthread_attr_getstackprealloc
pthread_attr_getstacksize
pthread_attr_init
pthread_attr_setdetachstate
pthread_attr_setguardsize
pthread_attr_setinheritsched
pthread_attr_setschedparam
pthread_attr_setschedpolicy
pthread_attr_setscope
pthread_attr_setstack
pthread_attr_setstackaddr
pthread_attr_setstacklazy
pthread_attr_setstackprealloc
pthread_attr_setstacksize
pthread_barrier_destroy
pthread_barrier_init
pthread_barrier_wait
pthread_barrierattr_destroy
pthread_barrierattr_getpshared
pthread_barrierattr_init
pthread_barrierattr_setpshared
pthread_cancel
pthread_cleanup_pop
pthread_cleanup_push
pthread_cond_broadcast
pthread_cond_destroy
pthread_cond_init
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_condattr_destroy
pthread_condattr_getclock
pthread_condattr_getpshared
pthread_condattr_init
pthread_condattr_setclock
pthread_condattr_setpshared
pthread_create
QNX extensions
pthread_detach
pthread_equal
pthread_exit
pthread_getconcurrency
pthread_getcpuclockid
pthread_getname_np
pthread_getschedparam
pthread_getspecific
pthread_join
pthread_key_create
pthread_key_delete
pthread_kill
pthread_mutex_destroy
pthread_mutex_getprioceiling
pthread_mutex_init
pthread_mutex_lock
pthread_mutex_setprioceiling
pthread_mutex_timedlock, pthread_mutex_timedlock_monotonic
pthread_mutex_trylock
pthread_mutex_unlock
pthread_mutex_wakeup_np
pthread_mutexattr_destroy
pthread_mutexattr_getprioceiling
pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared
pthread_mutexattr_getrecursive
pthread_mutexattr_gettype
pthread_mutexattr_getwakeup_np
pthread_mutexattr_init
pthread_mutexattr_setprioceiling
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
pthread_mutexattr_setrecursive
pthread_mutexattr_settype
pthread_mutexattr_setwakeup_np
pthread_once
pthread_rwlock_destroy
pthread_rwlock_init
pthread_rwlock_rdlock
pthread_rwlock_timedrdlock
pthread_rwlock_timedwrlock
pthread_rwlock_tryrdlock
pthread_rwlock_trywrlock
pthread_rwlock_unlock
pthread_rwlock_wrlock
pthread_rwlockattr_destroy
pthread_rwlockattr_getpshared
pthread_rwlockattr_init
pthread_rwlockattr_setpshared
pthread_self
pthread_setcancelstate
pthread_setcanceltype
pthread_setconcurrency
pthread_setname_np
pthread_setschedparam
pthread_setschedprio
pthread_setspecific
pthread_sigmask
pthread_sleepon_broadcast
pthread_sleepon_lock
pthread_sleepon_signal
pthread_sleepon_timedwait
pthread_sleepon_unlock
pthread_sleepon_wait
pthread_spin_destroy
pthread_spin_init
pthread_spin_lock
pthread_spin_trylock
pthread_spin_unlock
pthread_testcancel
pthread_timedjoin, pthread_timedjoin_monotonic
ptsname
ptsname_r
_pulse
pulse_attach
pulse_detach
putc
putc_unlocked
putchar
putchar_unlocked
putenv
puts
putspent
pututline
putw
putwc
putwchar
pwrite, pwrite64
Q
qnx_crypt
qsort
R
Raccept
raise
rand
rand_r
random
Rbind
rcmd, rcmd_af
Rconnect
rdchk
re_comp
re_exec
read
read_main_config_file
readblock
readcond
MIN
TIME
TIMEOUT
FORWARD
readdir, readdir64
readdir_r
readlink
readv
realloc
realpath
recv
recvfrom
recvmsg
regcomp
Basic Regular Expressions
Extended Regular Expressions
regerror
regexec
regfree
remainder, remainderf, remainderl
remove
remque
rename
res_init
Resolver configuration
res_mkquery
res_query
res_querydomain
res_search
res_send
resmgr_attach
resmgr_attr_t structure
The flags argument
resmgr_block
resmgr_connect_funcs_t
resmgr_context_alloc
resmgr_context_free
resmgr_context_t
resmgr_detach
Blocking states
resmgr_devino
resmgr_handle_grow
resmgr_handle_tune
resmgr_handler
resmgr_io_funcs_t
resmgr_iofuncs
resmgr_msg_again
resmgr_msgread
resmgr_msgreadv
resmgr_msgreply
Blocking states
resmgr_msgreplyv
Blocking states
resmgr_msgwrite
resmgr_msgwritev
_RESMGR_NPARTS
resmgr_ocb
resmgr_open_bind
resmgr_pathname
_RESMGR_PTR
_RESMGR_STATUS
resmgr_unbind
rewind
rewinddir
Rgetsockname
rindex
rint, rintf, rintl
Rlisten
rmdir
round, roundf, roundl
ROUTE
Routing database entries
Routing packets
Routing control messages
Rrcmd
rresvport, rresvport_af
Rselect
rsrcdbmgr_attach
rsrc_request_t structure
Example 1
Example 2
Example 3
Example 4
rsrcdbmgr_create
rsrc_alloc_t structure
rsrcdbmgr_destroy
rsrcdbmgr_detach
rsrcdbmgr_devno_attach
Class names
rsrcdbmgr_devno_detach
rsrcdbmgr_query_name
ruserok
S
scalb
scalbn, scalbnf
_scalloc
scandir
scanf
Format control string
Conversion specifiers
Type length specifiers
Conversion type specifiers
sched_getparam
sched_get_priority_adjust
sched_get_priority_max
sched_get_priority_min
sched_getscheduler
sched_param
sched_rr_get_interval
sched_setparam
sched_setscheduler
sched_yield
SchedCtl, SchedCtl_r
SCHED_APS_QUERY_PARMS
Scheduling policies
Handling bankruptcy
Errors:
SCHED_APS_SET_PARMS
Errors:
SCHED_APS_CREATE_PARTITION
Errors:
SCHED_APS_QUERY_PARTITION
Errors:
SCHED_APS_LOOKUP
Errors:
SCHED_APS_JOIN_PARTITION
Errors:
SCHED_APS_MODIFY_PARTITION
Errors:
SCHED_APS_PARTITION_STATS
Errors:
SCHED_APS_OVERALL_STATS
Errors:
SCHED_APS_MARK_CRITICAL
Errors:
SCHED_APS_CLEAR_CRITICAL
Errors:
SCHED_APS_QUERY_THREAD
Errors:
SCHED_APS_ATTACH_EVENTS
Errors:
SCHED_APS_ADD_SECURITY
Security
Errors:
SCHED_APS_QUERY_PROCESS
Errors:
Blocking states
SchedGet, SchedGet_r
Blocking states
SchedInfo, SchedInfo_r
SchedSet, SchedSet_r
Blocking states
SchedYield, SchedYield_r
Blocking states
searchenv
seed48
seekdir
select
Manipulating file-descriptor sets
select_attach
Flags
Function
select_detach
select_query
sem_close
sem_destroy
sem_getvalue
sem_init
sem_open
sem_post
sem_timedwait, sem_timedwait_monotonic
sem_trywait
sem_unlink
sem_wait
send
sendmsg
sendto
servent
setbuf
setbuffer
setdomainname
setegid
setenv
seteuid
setgid
setfsent
setgrent
setgroups
sethostent
sethostname
SETIOV
setitimer
setjmp
setkey
setlinebuf
setlocale
setlogmask
setnetent
setpgid
setpgrp
setprio
setprotoent
setpwent
setregid
setreuid
setrlimit, setrlimit64
setservent
setsid
setsockopt
setspent
setstate
settimeofday
setuid
setutent
setvbuf
_sfree
shm_ctl, shm_ctl_special
Bits in the flags argument for ARM processors
Bits in the flags argument for x86 processors
Bits in the special argument for ARM processors
Bits in the special argument for PPC processors
Bits in the special argument for SH4 processors
shm_open
shm_unlink
shutdown
shutdown_system
shutdown_classify callout
shutdown_display callout
shutdown_done callout
shutdown_error callout
shutdown_process callout
shutdown_progress callout
shutdown_prompt callout
sigaction
struct sigaction
sigaddset
sigblock
sigdelset
sigemptyset
sigevent
SIGEV_INTR (QNX Neutrino extension)
SIGEV_NONE (POSIX)
SIGEV_PULSE (QNX Neutrino extension)
SIGEV_SIGNAL (POSIX)
SIGEV_SIGNAL_CODE (QNX Neutrino extension)
SIGEV_SIGNAL_THREAD (QNX Neutrino extension)
SIGEV_THREAD (POSIX)
SIGEV_UNBLOCK (QNX Neutrino extension)
Critical threads (QNX Neutrino extension)
sigfillset
siginfo_t
sigismember
siglongjmp
sigmask
signal
func is a function
func is SIG_DFL
func is SIG_IGN
Handling a condition
SignalAction, SignalAction_r
POSIX and QNX Neutrino signals
Blocking states
SignalKill, SignalKill_r
Blocking states
SignalProcmask, SignalProcmask_r
Blocking states
SignalSuspend, SignalSuspend_r
Blocking states
SignalWaitinfo, SignalWaitinfo_r
Blocking states
sigpause
sigpending
sigprocmask
sigqueue
sigsetjmp
sigsetmask
sigsuspend
sigtimedwait
sigunblock
sigwait
sigwaitinfo
sin, sinf, sinl
sinh, sinhf, sinhl
sleep
_sleepon_broadcast
_sleepon_destroy
_sleepon_init
_sleepon_lock
_sleepon_signal
_sleepon_unlock
_sleepon_wait
slogb
slogf
Severity levels
slogi
_smalloc
snmp_close
snmp_free_pdu
snmp_open
snmp_pdu
snmp_pdu_create
snmp_read
snmp_select_info
Asynchronous SNMP transactions:
snmp_send
snmp_session
snmp_timeout
snprintf
sockatmark
socket
SOCK_STREAM sockets
SOCK_DGRAM and SOCK_RAW sockets
Using the ioctl call
Socket-level options
socketpair
SOCKSinit
sopen
sopenfd
spawn
Mapping file descriptors
inheritance structure
spawnl
spawnle
spawnlp
spawnlpe
spawnp
spawnv
spawnve
spawnvp
spawnvpe
sprintf
sqrt, sqrtf, sqrtl
srand
srand48
srandom
_srealloc
sscanf
stat, stat64
stat structure
st_mode bits
Macros
statvfs, statvfs64
stderr
stdin
stdout
straddstr
strcasecmp
strcat
strchr
strcmp
strcmpi
strcoll
strcpy
strcspn
strdup
strerror
strerror_r
strftime
Formats
stricmp
strlcat, strlcpy
strlen
strlwr
strncasecmp
strncat
strncmp
strncpy
strnicmp
strnset
strpbrk
strptime
Formats
Modified conversion specifiers
strrchr
strrev
strsep
strset
strsignal
strspn
strstr
strtod, strtof, strtold
strtoimax, strtoumax
strtok
strtok_r
strtol, strtoll
strtoul, strtoull
strupr
strxfrm
swab
swprintf
swscanf
symlink
sync
SyncCondvarSignal, SyncCondvarSignal_r
Blocking states
SyncCondvarWait, SyncCondvarWait_r
Blocking states
SyncCtl, SyncCtl_r
SyncDestroy, SyncDestroy_r
Blocking states
SyncMutexEvent, SyncMutexEvent_r
Managing the death of a mutex
SyncMutexLock, SyncMutexLock_r
Blocking states
SyncMutexRevive, SyncMutexRevive_r
SyncMutexUnlock, SyncMutexUnlock_r
Blocking states
SyncSemPost, SyncSemPost_r
SyncSemWait, SyncSemWait_r
Blocking states
SyncTypeCreate, SyncTypeCreate_r
Blocking states
sysconf
sysctl, sysctlbyname
syslog
Message levels
sysmgr_reboot
SYSPAGE_CPU_ENTRY
SYSPAGE_ENTRY
_syspage_ptr
system
T
tan, tanf, tanl
tanh, tanhf, tanhl
tcdrain
tcdropline
tcflow
tcflush
tcgetattr
tcgetpgrp
tcgetsid
tcgetsize
tcinject
tcischars
TCP
tcsendbreak
tcsetattr
tcsetpgrp
tcsetsid
tcsetsize
tell, tell64
telldir
tempnam
termios
thread_pool_control
thread_pool_create
Thread-pool attributes
thread_pool_destroy
thread_pool_limits
thread_pool_start
ThreadCancel, ThreadCancel_r
Blocking states
ThreadCreate, ThreadCreate_r
Thread attributes
Signal state
Local storage for private data
Blocking states
ThreadCtl, ThreadCtl_r
_NTO_TCTL_ALIGN_FAULT
_NTO_TCTL_IO
_NTO_TCTL_NAME
_NTO_TCTL_ONE_THREAD_CONT
_NTO_TCTL_ONE_THREAD_HOLD
_NTO_TCTL_RUNMASK
_NTO_TCTL_RUNMASK_GET_AND_SET
_NTO_TCTL_RUNMASK_GET_AND_SET_INHERIT
_NTO_TCTL_THREADS_CONT
_NTO_TCTL_THREADS_HOLD
Blocking states
ThreadDestroy, ThreadDestroy_r
Blocking states
ThreadDetach, ThreadDetach_r
Blocking states
ThreadJoin, ThreadJoin_r
Blocking states
time
timer_create
timer_delete
timer_getexpstatus
timer_getoverrun
timer_gettime
timer_settime
timer_timeout, timer_timeout_r
Blocking states
TimerAlarm, TimerAlarm_r
Blocking states
TimerCreate, TimerCreate_r
Blocking states
TimerDestroy, TimerDestroy_r
Blocking states
TimerInfo, TimerInfo_r
struct _timer_info
Blocking states
TimerSettime, TimerSettime_r
Expiration date
Blocking states
TimerTimeout, TimerTimeout_r
The timeout
Blocking states
times
timespec
timespec2nsec
timezone
tm
tmpfile, tmpfile64
tmpnam
tolower
toupper
towctrans
towlower
towupper
trace_func_enter
trace_func_exit
trace_here
_TRACE_GET_STRUCT
trace_logb
trace_logbc
trace_logf
trace_logi
trace_nlogf
trace_vnlogf
TraceEvent
Buffer and execution control
_NTO_TRACE_ALLOCBUFFER, _NTO_TRACE_DEALLOCBUFFER
_NTO_TRACE_FLUSHBUFFER
_NTO_TRACE_OVERWRITEBUFFER
_NTO_TRACE_QUERYEVENTS
_NTO_TRACE_QUERYSUPPORT
_NTO_TRACE_QUERYVERSION
_NTO_TRACE_SETLINEARMODE, _NTO_TRACE_SETRINGMODE
_NTO_TRACE_SKIPBUFFER
_NTO_TRACE_START, _NTO_TRACE_STARTNOSTATE, _NTO_TRACE_STOP
Fast/wide mode configuration
_NTO_TRACE_SETALLCLASSESFAST, _NTO_TRACE_SETALLCLASSESWIDE
_NTO_TRACE_SETCLASSFAST, _NTO_TRACE_SETCLASSWIDE
_NTO_TRACE_SETEVENTFAST, _NTO_TRACE_SETEVENTWIDE
Static rules filter configuration
_NTO_TRACE_ADDALLCLASSES, _NTO_TRACE_DELALLCLASSES
_NTO_TRACE_ADDCLASS, _NTO_TRACE_DELCLASS
_NTO_TRACE_ADDEVENT, _NTO_TRACE_DELEVENT
_NTO_TRACE_SETCLASSPID, _NTO_TRACE_CLRCLASSPID, _NTO_TRACE_SETCLASSTID, _NTO_TRACE_CLRCLASSTID
_NTO_TRACE_SETEVENTPID, _NTO_TRACE_CLREVENTPID, _NTO_TRACE_SETEVENTTID, _NTO_TRACE_CLREVENTTID
Dynamic rules filter configuration
Accessing data in the event handler
_NTO_TRACE_ADDEVENTHANDLER, _NTO_TRACE_DELEVENTHANDLER
_NTO_TRACE_ADDCLASSEVHANDLER, _NTO_TRACE_DELCLASSEVHANDLER
User-generated trace events
_NTO_TRACE_INSERTCCLASSEVENT, _NTO_TRACE_INSERTSCLASSEVENT
_NTO_TRACE_INSERTEVENT
_NTO_TRACE_INSERTSUSEREVENT, _NTO_TRACE_INSERTCUSEREVENT, _NTO_TRACE_INSERTUSRSTREVENT
traceparser
traceparser_cs
Callback function
traceparser_cs_range
traceparser_debug
traceparser_destroy
traceparser_get_info
User info modes for info_modes
Other valid user info modes
traceparser_init
truncate, truncate64
ttyname
ttyname_r
tzname
tzset
U
ualarm
UDP
ultoa, ulltoa
umask
umount
UNALIGNED_PUT16
UNALIGNED_PUT32
UNALIGNED_PUT64
UNALIGNED_RET16
UNALIGNED_RET32
UNALIGNED_RET64
uname
ungetc
ungetwc
UNIX
Addressing
Protocols
LOCAL_CREDS
unlink
unlockpt
unsetenv
usleep
utime
utimes
utmp
utmpname
utoa
V
va_arg
Varargs and coercion
va_copy
va_end
va_start
valloc
verr, verrx
vfork
vfprintf
vfscanf
vfwprintf
vfwscanf
vprintf
vscanf
vslogf
vsnprintf
vsprintf
vsscanf
vswprintf
vswscanf
vsyslog
vwarn, vwarnx
vwprintf
vwscanf
W
wait
Status macros
wait3
wait4
waitfor
waitid
waitpid
warn, warnx
wcrtomb
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsrtombs
wcsspn
wcsstr
wcstod, wcstof, wcstold
wcstoimax, wcstoumax
wcstok
wcstol, wcstoll
wcstombs
wcstoul, wcstoull
wcsxfrm
wctob
wctomb
wctrans
wctype
wmemchr
wmemcmp
wmemcpy
wmemmove
wmemset
wordexp
wordfree
wprintf
write
writeblock
writev
wscanf
X
Y
y0, y0f
y1, y1f
yn, ynf
Z
SOCKS --- A Basic Firewall
About SOCKS
How to SOCKSify a client
What SOCKS expects
Summary of Safety Information
Cancellation points
Interrupt handlers
Signal handlers
Multithreaded programs
Full Safety Information
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
What's New in This Reference?
What's new in the QNX Neutrino 6.5.0 SP1 online docs?
New entries
Deprecated content
Changed content
Errata
What's new in QNX Neutrino 6.5.0 Service Pack 1?
New entries
Changed content
Errata
What's new in QNX Neutrino 6.5.0?
New entries
Changed content
Errata
What's new in QNX Neutrino 6.4.1?
New entries
Deprecated content
Changed content
Errata
What's new in QNX Neutrino 6.4.0?
New entries
Deprecated content
Changed content
Errata
What's new in QNX Neutrino 6.3.2?
Errata
What's new in the QNX Neutrino Core OS 6.3.2?
New entries
Changed content
What's new in QNX Neutrino 6.3.0 Service Pack 2?
New entries
Changed content
Errata
What's new in QNX Neutrino 6.3.0 Service Pack 1?
New entries
Changed content
Errata
What's new in QNX Neutrino 6.3.0?
New entries
Deprecated content
What's new in QNX Neutrino 6.2.1?
New entries
Changed content
Errata
What's new in QNX Neutrino 6.2?
New entries
Deprecated content
Errata
What's new in QNX Neutrino 6.1.0?
New entries
Deprecated content
Glossary
Keyword Index
!
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
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
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
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
An example of synchronization
Without synchronizing
Using a mutex
More than one reader
Using read-write locks
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
Unioned filesystems
UFS versus UMP
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
Keyword Index
!
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
Persistent Publish/Subscribe Developer's Guide
About This Guide
Typographical conventions
Note to Windows users
Technical support options
QNX PPS Service
Running PPS
Syntax:
Options:
Objects and their Attributes
Object files
Object and directory sizes
Special objects
Object syntax
Objects in filesystem listings
Change notification
Responding to an object deletion
Attributes
Persistence
Persistent storage
Persistence and filesystem limitations
Saving objects
Loading objects
Publishing
Creating, modifying and deleting
Multiple publishers
Subscribing
Blocking and non-blocking reads
Setting PPS to block
Clearing O_NONBLOCK
io_notify functionality
Getting notifications of data on a file descriptor
Subscription Modes
Full mode
Delta mode
Delta mode queues
Changes to multiple attributes
Server objects
Subscribing to multiple objects
Subscribe to all objects in a directory
Notification groups
Creating notification groups
Using notification groups
Notification of closed file descriptors for objects
Options and Qualifiers
Pathname open options
Critical option
Duplicate file descriptors
Critical file descriptors
Server file descriptors
Object and attribute qualifiers
Setting qualifiers
No-persistence qualifier
Item qualifier
Adding and deleting set items
Incorrect item syntax
Examples
Example 1: Duplicate items
Example 2: Null items
Example 3: Delete an item
ppsparse
pps_attrib_t
pps_attrib_flags_t
pps_options_t
pps_status_t
Keyword Index
!
A
B
C
D
E
F
G
I
L
M
N
O
P
Q
R
S
T
U
Programmer's Guide
About This Book
What you'll find in this guide
Recommended reading
Typographical conventions
Note to Windows users
Technical support
Compiling and Debugging
Choosing the version of the OS
Making your code more portable
Conforming to standards
Including QNX- or Neutrino-specific code
Self-hosted or cross-development
A simple example
Self-hosted
Cross-development with network filesystem
Cross-development with debugger
Cross-development, deeply embedded
Using libraries
Static linking
Dynamic linking
Runtime loading
Static and dynamic libraries
Static libraries
Dynamic libraries
dlopen
Platform-specific library locations
Linking your modules
Creating shared objects
Specifying an internal name
Optimizing the runtime linker
Lazy binding
RTLD_LAZY
Lazy loading
Diagnostics and debugging
Environment variables
Debugging
Debugging in a self-hosted environment
Debugging in a cross-development environment
The GNU debugger (gdb)
Starting gdb
The process-level debug agent
Serial connection
TCP/IP connection
TCP/IP static port connection
TCP/IP dynamic port connection
Sample buildfile for dynamic port sessions
A simple debug session
Configure the target
Compile for debugging
Start the debug session
Basic debugging commands
Sample boot image
Debugging using libmudflap
Programming Overview
Process model
An application as a set of processes
Processes and threads
Some definitions
Priorities and scheduling
Priority range
BLOCKED and READY states
The ready queue
Rescheduling a running thread
Scheduling policies
FIFO scheduling
Round-robin scheduling
Sporadic scheduling
Why threads?
Talking to hardware
Probing the hardware
Accessing the hardware
I/O resources
Memory-mapped resources
IRQs
Summary
Processes
Starting processes --- two methods
Process creation
Concurrency
Using fork and forkpty
Inheriting file descriptors
Process termination
Normal process from exit
Process termination from signals
Process termination from thread loss
Detecting process termination
Using the High Availability Framework
Detecting termination from a starter process
Sample parent process using wait
Sample parent process using sigwaitinfo
Detecting dumped processes
Detecting the termination of daemons
Detecting client termination
Stack allocation
Controlling processes via the /proc filesystem
Establishing a connection
Reading and writing the process's address space
Determining the offset
Determining accessibility
Manipulating a process or thread
Selecting a thread for further operations
Starting/stopping processes and threads
Setting breakpoints
Examining process and thread attributes
Thread information
DCMD_PROC_BREAK
DCMD_PROC_CHANNELS
DCMD_PROC_CLEAR_FLAG
DCMD_PROC_CURTHREAD
DCMD_PROC_EVENT
DCMD_PROC_FREEZETHREAD
DCMD_PROC_GETALTREG
DCMD_PROC_GETFPREG
DCMD_PROC_GETGREG
DCMD_PROC_GETREGSET
DCMD_PROC_GET_BREAKLIST
DCMD_PROC_INFO
DCMD_PROC_IRQS
DCMD_PROC_MAPDEBUG
DCMD_PROC_MAPDEBUG_BASE
DCMD_PROC_MAPINFO
DCMD_PROC_PAGEDATA
DCMD_PROC_PTINFO
DCMD_PROC_RUN
DCMD_PROC_SETALTREG
DCMD_PROC_SETFPREG
DCMD_PROC_SETGREG
DCMD_PROC_SETREGSET
DCMD_PROC_SET_FLAG
DCMD_PROC_SIGNAL
DCMD_PROC_STATUS
DCMD_PROC_STOP
DCMD_PROC_SYSINFO
DCMD_PROC_THAWTHREAD
DCMD_PROC_THREADCTL
DCMD_PROC_TIDSTATUS
DCMD_PROC_TIMERS
DCMD_PROC_WAITSTOP
Tick, Tock: Understanding the Neutrino Microkernel's Concept of Time
What's a tick?
Short delays
Oversleeping: errors in delays
Delaying for a second: inaccurate code
Timer quantization error
The tick and the hardware timer
Delaying for a second: better code
Another hiccup with hardware timers
Where's the catch?
What time is it?
Monitoring execution times
Transparent Distributed Processing Using Qnet
What is Qnet?
Benefits of Qnet
What works best
What type of application is well-suited for Qnet?
Limitations
How does it work?
Locating services using GNS
Server and client modes
Server
Client
Registering a service
Locating a service
GNS pathname space
Deploying the gns processes
Quality of Service (QoS) and multiple paths
QoS policies
loadbalance
preferred
exclusive
Specifying QoS policies
Symbolic links
Designing a system using Qnet
The product: a telecom box
Developing your distributed system
Configuring the data cards
Configuring the controller card
Enhancing reliability via multiple transport buses
Redundancy and scalability using multiple controller cards
Redundancy
Scalability
Autodiscovery vs static
When should you use Qnet, TCP/IP, or NFS?
Drivers for Qnet
Writing an Interrupt Handler
What's an interrupt?
Interrupts on multicore systems
Attaching and detaching interrupts
Interrupt Service Routine (ISR)
Determining the source of the interrupt
Edge-triggered IRQ
Level-sensitive IRQ
Servicing the hardware
Safe functions
Updating common data structures
Notifying the application code
Using InterruptAttach
Using InterruptAttachEvent
Running out of interrupt events
Problems with shared interrupts
Advanced topics
Interrupt environment
Ordering of shared interrupts
Interrupt latency
Atomic operations
Heap Analysis
Introduction
Memory management in QNX Neutrino
Virtual memory
Program memory
Stack memory
Shared-library memory
Object memory
Heap memory
Dynamic memory management
Arena allocations
Large block allocator
Small block allocator
Heap corruption
Adjacent memory blocks
Multithreaded programs
Allocation strategy
Common sources
Overrun and underrun errors
Releasing memory
Using uninitialized or stale pointers
Detecting and reporting errors
Using the librcheck library
What's checked?
Allocating memory
Reallocating memory
Releasing memory
Controlling the level of checking
Forcing verification
Specifying an error handler
Other environment variables
Caveats
Manual checking (bounds checking)
Memory leaks
Tracing
Starting a trace and giving results
Analyzing dumps
C++ issues
Clean C
C++ example
Freedom from Hardware and Platform Dependencies
Common problems
I/O space vs memory-mapped
Big-endian vs little-endian
Typecast mangling
Hardware access
Network transparency
Alignment and structure packing
Atomic operations
Solutions
Determining endianness
Swapping data if required
ENDIAN_LE16
ENDIAN_LE32
ENDIAN_LE64
ENDIAN_BE16
ENDIAN_BE32
ENDIAN_BE64
Accessing unaligned data
UNALIGNED_RET16
UNALIGNED_RET32
UNALIGNED_RET64
UNALIGNED_PUT16
UNALIGNED_PUT32
UNALIGNED_PUT64
Examples
Mixed-endian accesses
Accessing hardware with dual-ported memory
Accessing I/O ports
Conventions for Recursive Makefiles and Directories
Structure of a multiplatform source tree
Makefile structure
The recurse.mk file
Macros
The EARLY_DIRS and LATE_DIRS macros
The LIST macro
The MAKEFILE macro
The CHECKFORCE macro
Directory levels
Project level
Section level (optional)
OS level
CPU level
Variant level
Specifying options
The common.mk file
The variant-level makefile
Recognized variant names
Using the standard macros and include files
The qconfig.mk include file
Preset macros
Postset macros
qconfig.mk macros
The qrules.mk include file
The qtargets.mk include file
Advanced topics
Collapsing unnecessary directory levels
Performing partial builds
Performing parallel builds
More uses for LIST
GNU configure
hook_preconfigure
hook_postconfigure
hook_premake
hook_postmake
hook_pinfo
Examples of creating Makefiles
A single application
A library and an application
POSIX Conformance
Conformance statement
System interfaces: general attributes
Supported features
Optional features
Float, standard I/O, and limit values
Error conditions
Mathematical interfaces
File handling
Access control
Files and directories
Internationalized system interfaces
Coded character sets
Threads
Cancellation points
Realtime
Prioritized I/O
Realtime threads
Scheduling policies
Scheduling contention scope
Default scheduling contention scope
Scheduling allocation domain
C-language compilation environment
POSIX Conformance Document (PCD)
Base Definitions
3. Definitions
3.4. Additional File Access Control Mechanism
3.12. Alternate File Access Control Mechanism
3.19. Appropriate Privileges
3.97. Clock Tick
3.159. Extended Security Controls
3.387. System Trace Event
3.409. Trace Generation Version
4. General Concepts
4.3. Extended Security Controls
4.9. Measurement of Execution Time
4.11. Pathname Resolution
4.14. Seconds Since the Epoch
4.17. Tracing
4.18. Treatment of Error Conditions for Mathematical Functions
6. Character Set
6.4. Character Set Description File
7. Locale
7.1. General
7.2. POSIX Locale
7.3. Locale Definition
8. Environment Variables
8.2. Internationalization Variables
8.3. Other Environment Variables
13. Headers
fenv.h
float.h
limits.h
math.h
signal.h
stdint.h
sys/stat.h
time.h
System Interfaces
2.3. Error Numbers
2.4. Signal Concepts
2.4.2. Realtime Signal Generation and Delivery
2.4.3. Signal Actions
2.5. Standard I/O Streams
2.5.1. Interaction of File Descriptors and Standard I/O Streams
2.8. Realtime
2.8.3. Memory Management
2.8.4. Processing Scheduling
2.8.5. Clocks and Timers
2.9.4. Thread Scheduling
2.11. Tracing
3. System Interfaces
acos, acosf, and acosl
acosh, acoshf, acoshl
asin, asinf, asinl
atan, atanf, atanhl
calloc
clock_getres, clock_settime
cos, cosf, cosl
erfc, erfcf, erfcl
exp, expf, expl
exp2, exp2f, exp2l
fclose
fcntl
fdim, fdimf, fdiml
fegetexceptflag
feraiseexcept
fflush
fgetc
fma, fmaf, fmal
fmod, fmodf, fmodl
fpclassify
fprintf
fputc
freopen
fscanf
fseeko
fsetpos
fstat
fsync
kill
ldexp, ldexpf, ldexpl
log, logf, logl
log10, log10f, log10l
log1p, log1pf, log1pl
log2, log2f, log2l
lseek
malloc
mkdir
mlock
mlockall, munlockall
mmap
mq_open
mq_receive
mq_setattr
open
posix_trace_*
pow, powf, powl
pthread_attr_destroy
pthread_condattr_destroy, pthread_condattr_init
pthread_getschedparam, pthread_setschedparam
pthread_rwlock_rdlock
pthread_rwlock_unlock
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared
read
remainder, remainderf, remainderl
remquo, remquof, remquol
rint, rintf, rintl
scalbln, scalblnf, scalblnl, scalbn, scalbnf, scalbnl
sem_open
setlocale
shm_open
sigaction
signal
sigwait
sin, sinf, sinl
sqrt, sqrtf, sqrtl
stat
strtod, strtof, strtold
strtol, strtoll
strtoul, strtoull
tan, tanf, tanl
tgamma, tgammaf, tgammal
timer_create
tmpnam
tzset
uname
write
Non-POSIX functions with POSIX-sounding names
Using GDB
Neutrino-specific extensions
A quick overview of starting the debugger
GDB commands
Command syntax
Command completion
Getting help
Running programs under GDB
Compiling for debugging
Setting the target
Starting your program
Your program's arguments
Your program's environment
Your program's input and output
Debugging an already-running process
Killing the process being debugged
Debugging programs with multiple threads
Debugging programs with multiple processes
Stopping and continuing
Breakpoints, watchpoints, and exceptions
Setting breakpoints
Setting watchpoints
Breakpoints and exceptions
Deleting breakpoints
Disabling breakpoints
Break conditions
Breakpoint command lists
Breakpoint menus
Continuing and stepping
Signals
Stopping and starting multithreaded programs
Examining the stack
Stack frames
Backtraces
Selecting a frame
Information about a frame
MIPS machines and the function stack
Examining source files
Printing source lines
Searching source files
Specifying source directories
Source and machine code
Shared libraries
Examining data
Expressions
Program variables
Artificial arrays
Output formats
Examining memory
Automatic display
Print settings
Value history
Convenience variables
Registers
Floating point hardware
Examining the symbol table
Altering execution
Assignment to variables
Continuing at a different address
Giving your program a signal
Returning from a function
Calling program functions
Patching programs
ARM Memory Management
ARM-specific restrictions and issues
_NTO_TCTL_IO behavior
Implications of the ARM Cache Architecture
ARM-specific features
shm_ctl behavior
Advanced Qnet Topics
Low-level discussion of Qnet principles
Details of Qnet data communication
Node descriptors
The sys/netmgr.h header file
Glossary
Keyword Index
!
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
QED - Fullscreen Editor
About the QED Manual
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Tutorial Guide
Getting Started
The Status Line
The Command Line
Text Area
Appending New Text (F1)
Appending or Inserting Lines (F1/F2)
Using the Del and Backspace keys
Inserting text using Ins
Other Cursor keys which Simplify Editing
Saving your Text
Exercise
More on the F1 and F2 keys
Deleting Lines (F3 key)
Filling Lines (F4 key)
Centering Lines (CtrlF4)
Splitting and Joining Lines (F5/F6 keys)
Tagging Blocks of Text (F7/F8 keys)
Line Tagging
Block Tagging
Insert Mode and Block Move and Copy
Re-setting the Last Tagged Lines or Block
Re-executing Commands (F9/F10 keys)
Tabs
Line Drawing Characters
Margins
Moving Your Margins (Shift F1 to F6)
Auto Fill and Your Right Margin
Auto Justify
Indenting and Your Left Margin
Line Flags
Overstrike Flag ( Alt o )
Continuation Flag ( Alt c )
Paragraph Flag ( Alt p )
Some Simple Editor Commands.
Learn Mode
Absolute Line Positioning
Simple Pattern Matching
File I/O Commands
The View Command
Executing System Commands
Epilogue
Using qed on non-QNX terminal types
Setting Your Terminal Type
Required Terminal Capabilities
Screen Output
Keyboard Input
Reference Manual
The Syntax of Editor Commands
Line Range
Command Specification Character
Right Arguments
Placing Multiple Commands On A Line
Special Characters
The Linefeed Character (hex 0A)
The NUL Character (hex 00)
The Meta Characters (@$^^&.*[)
The Backslash Character (\)
The Tab Character (hex 09)
The Command Character (hex FF)
The Recall Character (hex FE)
The Keyboard Input Character (hex FD)
The Macro Disable Character (hex A3)
The Condition Register
Delete Buffers
The Character Delete Buffer
The Line Delete Buffer
Break Handling
The Pattern Matcher
Some Pattern Examples
Command Reference:
Append (a)
Branch (b)
Change (c)
Delete (d)
Edit (e)
File (f)
Global (g)
Insert (i)
Join (j)
Kopy (k)
Learn (l)
Move (m)
Option (o)
Options
Print (p)
Quit (q)
Read (r)
Substitute (s)
Translate (t)
Until (u)
View (v)
View screen options
Write (w)
Execute (x)
Yut? (prompt) (y)
Zap (z)
Defining Your Own Macros
What is a Macro
Multi-line Macros
Macros Containing Branches
Suggestions
Appendix A - Error Messages
Quick Reference
Control Keys
Cursor Movement Keys
Character Editing Keys
Function Keys
Option Control
Margin Control
Line Flags
Special Characters
Editor Commands
Line Range range
Line Address line
Meta Characters Used in Patterns
File I/O Commands
Alphabetical List of All Editor Commands
Examples
The QNX Neutrino Cookbook: Recipes for Programmers
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Foreword to the First Edition by Brian Stecher
Preface to the First Edition by Rob Krten
What's in this book?
Philosophy
The Basics
High Availability
Design Philosophy
Recipes
Web-Counter Resource Manager
ADIOS --- Analog / Digital I/O Server
RAM-disk Filesystem Manager
The tar Filesystem Manager
References
Filesystems
The /proc filesystem
Sample Programs
Glossary
What's not in this book?
Other references
Thanks!
Century Aluminum
The Basics
The basics
In the beginning...
The main function
Command-line processing --- optproc
Common globals
Usage messages
Threaded resource managers
High Availability
Terminology
Lies, damn lies, and statistics
Increasing availability
Increasing the MTBF
Decreasing the MTTR
Parallel versus serial
Series calculations
Parallel calculations
Aggregate calculations
Failure modes and recovery models
Cascade failures
System startup and HA
Overlords, or Big Brother is watching you
Cold, warm, and hot standby
Achieving cold standby
Achieving warm standby
Achieving hot standby
Problems
Detecting failure
Obituaries
Graceful fail-over
Using shadows
In-service upgrades
Policies
Implementing HA
RK drones on about his home systems again
Other HA systems
Design Philosophy
Decoupling design in a message-passing environment
Door-lock actuators
At this point...
Managing message flow
Swipe-card readers
Control program sends to the swipe-card reader
Swipe-card reader sends to control program
Using a keypad challenge --- control program sends to the swipe-card reader
Using a keypad challenge --- swipe-card reader sends to control program
Scalability
Distributed processing
Summary
Web Counter Resource Manager
Requirements
Using the web counter resource manager
Design
Generating the graphical image
The code --- phase 1
Operation
Generating the graphical image
Step-by-step code walkthrough
Include files and data structures
Source files
The code
The execute_resmgr function
The io_open function
The io_read function
The io_close_ocb function
The render_7segment function
The encode_image function
The code --- phase 2
Persistent count file
Font selection
Plain text rendering
Writing to the resource
Adding the io_write handler
The io_write function
The io_close_ocb function
The code --- phase 3
Filename processing tricks
Changes
Globals
The new-and-improved execute_resmgr
Option processing
Handling io_read
Operating on a file
Operating on a directory
The persistent counter file
Enhancements
References
Header files
Functions
Books
ADIOS --- Analog/Digital I/O Server
Requirements
Design
Driver Design
DIO-144
ISO-813
PCL-711
Shared Memory Design
Tags database design
The driver code
Theory of operation
Code walkthrough
main and friends
The resource manager modules
The card interface modules
Card configuration
Analog input
Analog output
Digital input
Digital output
The ADIOS server code
The usual stuff
The shared memory region
Calculating the sizes of data structures
Open and check the shared memory
Truncate and map shared memory
Acquiring data
The showsamp and tag utilities
The showsamp utility
The tag utility
References
Header files
Functions
RAM-disk Filesystem
Requirements
Connect functions
I/O functions
Missing functions
Design
The code
The extended attributes structure
The io_read function
The io_write function
The c_open function
Finding the target
The pathwalk function
The connect_msg_to_attr function
Fun with symlinks
Analyze the mode flag
Bind the OCB and attributes structure
Finally, the c_open code walkthrough
Walkthrough
The redirect_symlink function
The c_readlink function
The c_link function
The c_rename function
The c_mknod function
The c_unlink function
The io_close_ocb function
The io_devctl function
Mounting options
Filesystem statistics
The c_mount function
References
Header files
Functions
TAR Filesystem
Requirements
Design
Creating a .tar file
The code
The structures
The functions
The c_mount function
The analyze_tar_file function
The add_tar_entry function
The io_read function and related utilities
The mount helper program
Variations on a theme
Virtual filesystem for USENET news (VFNews)
How does USENET news work?
So why is this a problem?
How can this possibly be made better?
Operation
Strange and unusual filesystems
Indexed filesystem
Executing commands
Secure filesystem
Line-based filesystem
References
Header files
Functions
Books
Filesystems
What is a filesystem?
Hierarchical arrangement
Data elements
The mount point and the root
What does a filesystem do?
Filesystems and Neutrino
How does a filesystem work?
Mount point management
Unnamed mount registration
Special device registration
Mount point registration
Pathname resolution
Directory management
Data element content management
References
Chapters in this book
Books
The /proc Filesystem
The /proc/boot directory
The /proc/mount directory
The /proc by-process-ID directories
Operations on the as entry
Discontiguous address space
Someone else's virtual address space
Finding a particular process
Iterating through the list of processes
Finding out information about the process
DCMD_PROC_INFO
Process information
Memory information
Signal information
CPU usage information
Miscellaneous
DCMD_PROC_MAPINFO and DCMD_PROC_PAGEDATA
DCMD_PROC_TIMERS
DCMD_PROC_IRQS
Finding out information about the threads
The DCMD_PROC_TIDSTATUS command
Blocked thread information
The DCMD_PROC_GETGREG and DCMD_PROC_GETFPREG commands
References
Header files
Functions
Utilities
Sample Programs
Web-Counter resource manager
ADIOS --- Analog / Digital I/O Server
RAM-disk and tar filesystem managers
The /proc filesystem
Glossary
Keyword Index
!
A
B
C
D
E
F
G
H
I
L
M
N
O
P
R
S
T
U
V
W
System Architecture
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
The Philosophy of QNX Neutrino
Design goals
An embeddable POSIX OS?
Product scaling
Why POSIX for embedded systems?
Multiple OS sources
Portability of development staff
Development environment: native and cross development
Why QNX Neutrino for embedded systems?
Microkernel architecture
The OS as a team of processes
A true kernel
System processes
System processes vs user-written processes
Device drivers
Interprocess communication
QNX Neutrino as a message-passing operating system
Network distribution of kernels
Single-computer model
Flexible networking
The QNX Neutrino Microkernel
Introduction
The implementation of QNX Neutrino
POSIX realtime and thread extensions
System services
Threads and processes
Thread attributes
Thread life cycle
Thread scheduling
When are scheduling decisions made?
When does a thread block?
When is a thread preempted?
When does a thread yield?
Scheduling priority
Scheduling policies
FIFO scheduling
Round-robin scheduling
Sporadic scheduling
Manipulating priority and scheduling policies
IPC issues
Thread complexity issues
Synchronization services
Mutexes: mutual exclusion locks
Priority inheritance and mutexes
Condvars: condition variables
Barriers
Sleepon locks
Reader/writer locks
Semaphores
Synchronization via scheduling policy
Synchronization via message passing
Synchronization via atomic operations
Synchronization services implementation
Clock and timer services
Time correction
Timers
Interrupt handling
Interrupt latency
Scheduling latency
Nested interrupts
Interrupt calls
Interprocess Communication (IPC)
Synchronous message passing
MsgReply vs MsgError
Message copying
Simple messages
Channels and connections
Pulses
Priority inheritance and messages
Server boost
Message-passing API
Robust implementations with Send/Receive/Reply
Events
I/O notification
Signals
Special signals
Summary of signals
POSIX message queues
Shared memory
Shared memory with message passing
Creating a shared-memory object
Mapping an object with mmap
Initializing allocated memory
Typed memory
Implementation-defined behavior
Seeding of typed memory regions
Naming of typed memory regions
Pathname space and typed memory
mmap allocation flags and typed memory objects
Permissions and typed memory objects
Object length and offset definitions
Interaction with other POSIX APIs
Practical examples
Allocating contiguous memory from system RAM
Defining packet memory and allocating from it
Defining a DMA-safe region
Pipes and FIFOs
Pipes
FIFOs
The Instrumented Microkernel
Introduction
Instrumentation at a glance
Event control
Modes of emission
Ring buffer
Data interpretation
System analysis with the IDE
Proactive tracing
Multicore Processing
Introduction
Asymmetric multiprocessing (AMP)
Symmetric multiprocessing (SMP)
Neutrino's microkernel approach
Booting an x86 SMP system
Booting a PowerPC or MIPS SMP system
How the SMP microkernel works
Scheduling
Kernel locking
Interprocessor interrupts (IPIs)
Critical sections
Bound multiprocessing (BMP)
A viable migration strategy
Choosing between AMP, SMP, and BMP
Process Manager
Introduction
Process management
Process primitives
posix_spawn
spawn
fork
exec*
Process loading
Memory management
Memory Management Units (MMUs)
Memory protection at run time
Software watchdog
Quality control
Full-protection model
Private virtual memory
Variable page size
Locking memory
Defragmenting physical memory
Automatically marking memory as unmovable
Pathname management
Domains of authority
Resolving pathnames
Ordering mountpoints
Single-device mountpoints
Unioned filesystem mountpoints
Why overlay mountpoints?
Symbolic prefixes
Creating special device names
Relative pathnames
Network root
A note about cd
File descriptor namespace
Open control blocks
Dynamic Linking
Shared objects
Statically linked
Dynamically linked
Augmenting code at runtime
How shared objects are used
ELF format
ELF without COFF
The process
Runtime linker
Loading a shared library at runtime
Symbol name resolution
Resource Managers
Introduction
What is a resource manager?
Why write a resource manager?
The types of resource managers
Device resource managers
Filesystem resource managers
Communication via native IPC
Resource manager architecture
Message types
The resource manager shared library
Automatic default message handling
open, dup, and close
Multiple thread handling
Dispatch functions
Combine messages
Second-level default message handling
Summary
Filesystems
Introduction
Filesystems and pathname resolution
Filesystem classes
Filesystems as shared libraries
io-blk
Builtin RAM disk
Partitions
Buffer cache
Filesystem limitations
Image filesystem
RAM filesystem
Embedded transaction filesystem (ETFS)
Inside a transaction
Types of storage media
Reliability features
Dynamic wear-leveling
Static wear-leveling
CRC error detection
ECC error correction
Read degradation monitoring with automatic refresh
Transaction rollback
Atomic file operations
Automatic file defragmentation
QNX 4 filesystem
Power-Safe filesystem
Problems with existing disk filesystems
Copy-on-write filesystem
Performance
DOS Filesystem
DOS version support
DOS text files
QNX-to-DOS filename mapping
Handling filenames
International filenames
DOS volume labels
DOS-QNX permission mapping
File ownership
CD-ROM filesystem
FFS3 filesystem
Customization
Organization
Raw partitions
Filesystem partitions
Mountpoints
Features
POSIX
Storage efficiency
Wear leveling
Background reclaim
Fault recovery
Compression/decompression
Flash errors
Endian awareness
Utilities
System calls
NFS filesystem
CIFS filesystem
Linux Ext2 filesystem
Universal Disk Format (UDF) filesystem
Apple Macintosh HFS and HFS Plus
Windows NT filesystem
Inflator pass-through filesystem
PPS
Persistence
Behavior at startup
Behavior at shutdown
PPS objects
Object files
Change notification
Options and qualifiers
Pathname open options
Object and attribute qualifiers
Publishing
Multiple publishers
Subscribing
Subscription modes
Full mode
Delta mode
Subscribing to multiple objects
Notification groups
Character I/O
Introduction
Driver/io-char communication
Device control
QNX extensions
Input modes
Raw input mode
MIN
TIME
TIMEOUT
FORWARD
Edited input mode
Device subsystem performance
Console devices
Terminal emulation
Serial devices
Parallel devices
Pseudo terminal devices (ptys)
Networking Architecture
Introduction
Network manager (io-pkt*)
Threading model
Protocol module
Driver module
Loading and unloading a driver
Native Networking (Qnet)
QNX Neutrino distributed
Name resolution and lookup
File descriptor (connection ID)
Behind a simple open
Global Name Service (GNS)
Network naming
Resolvers
Redundant Qnet: Quality of Service (QoS) and multiple paths
QoS policies
loadbalance
preferred
exclusive
Specifying QoS policies
Symbolic links
Examples
Local networks
Remote networks
TCP/IP Networking
Introduction
Stack configurations
Structure of the TCP/IP manager
Socket API
Database routines
/etc/resolv.conf
/etc/protocols
/etc/services
Multiple stacks
IP filtering and NAT
NTP
Dynamic host configuration
AutoIP
PPP over Ethernet
/etc/autoconnect
Embedded web server
CGI method
SSI method
Data server method
High Availability
What is High Availability?
An OS for HA
Inherent HA
HA-specific modules
Custom hardware support
Client library
Recovery example
High Availability Manager
HAM and the Guardian
HAM hierarchy
Entities
Conditions
Actions
Alternate actions
Publishing autonomously detected conditions
State transitions
Other conditions
Subscribing to autonomously published conditions
Trigger based on state transition
Trigger based on specific published condition
HAM as a filesystem
Multistage recovery
HAM API
Adaptive Partitioning
What are partitions?
Why adaptive?
Benefits of adaptive partitioning
Engineering product performance
Dealing with design complexity
Providing security
Debugging
Adaptive partitioning thread scheduler
The Photon microGUI
A graphical microkernel
The Photon event space
Regions
Events
Graphics drivers
Multiple graphics drivers
Color model
Font support
Stroke-based fonts
Unicode multilingual support
UTF-8 encoding
Animation support
Video overlay
Layers
Printing support
The Photon Window Manager
Widget library
Fundamental widgets
Label widget (PtLabel)
Push-button widget (PtButton)
Text input widgets (PtText, PtMultiText)
Toggle-button widgets (PtToggleButton)
Graphical widgets (PtArc, PtPixel, PtRect, PtLine, PtPolygon, PtEllipse, PtBezier, PtGrid)
Scrollbar widget (PtScrollbar)
Separator widget (PtSeparator)
Slider widget (PtSlider)
Image widgets (PtLabel, PtButton)
Progress-bar widget (PtProgress)
Numeric widgets (PtNumericInteger, PtNumericFloat)
Container widgets
Window widget (PtWindow)
Group widget (PtGroup)
Panel group widget (PtPanelGroup)
Viewport widget (PtScrollContainer)
Background widget (PtBkgd)
Advanced widgets
Menu-related widgets (PtMenu, PtMenuBar, PtMenuButton)
Toolbar widgets (PtToolbar, PtToolbarGroup)
List widget (PtList)
Pulldown list widget (PtComboBox)
Tree widget (PtTree)
Terminal widgets (PtTty, PtTerminal)
Divider widget (PtDivider)
Trend graph widgets (PtTrend and PtMTrend)
Color-selection widgets (PtColorSel, PtColorPanel, PtColorPatch, PtColorSelGroup, PtColorWell)
Web client widget (PtWebClient)
Convenience functions
File-selection dialog (PtFileSelection)
Font-selection dialog (PtFontSelection)
Print-selection dialog (PtPrintSelection)
Alert dialog (PtAlert)
Notice dialog (PtNotice)
Prompt dialog (PtPrompt)
Driver development kits
Summary
Multimedia
Overview
MME functional areas
Mediastore access
Mediastore content management
Media playback and recording
The MME interface
Component-based architecture
The MME resource managers
What is Real Time and Why Do I Need It?
Hard and soft real time
Who needs real time?
What is a realtime OS?
How does an RTOS differ from a conventional OS?
What is a soft realtime OS?
How does all of this affect my application?
Glossary
Keyword Index
!
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Z
Technical Notes
About These Technotes
Typographical conventions
Note to Windows users
Technical support
IP Tunneling (Generic Routing Encapsulation)
How do I use it?
A more typical example
Final tidbits
PPPOE and Path MTU Discovery
Making Multiple Images
What's a multiple image?
Restrictions on XIP image filesystems
Mounting an IFS
Using a second IFS
Example: mounting an IFS on the MGT5200 Total board
Sample buildfiles
os1.build
os2.build
Programming into flash
Putting the images together
Test program
See also
QNX Neutrino and QNX4 bootloader partitions
Encountering the .altboot message
Booting or rebooting using a partition bootloader
Resolving problems with bootloader partitions
POSIX Message Queues: Two Implementations
Choosing the Correct MTD Routine for the Flash Filesystem
Unusual flash configurations
MTD source code
Manufacturer
Choosing the read callout
Choosing the ident callout
Choosing the write callout
Choosing the erase callout
Choosing the sync callout
Choosing the suspend and resume callouts
Choosing the islock, lock, unlock, and unlockall callouts
Asynchronous Messaging
Overview
Asynchronous-messaging functions
Examples
Example 1: Sending one message
Example 2: Sending more than one message at a time
Example 3: Flushing
Example 4: Setting up an event that triggers the copy
Example 5: Using time as the trigger
Example 6: Client and server processes
Reading a Kernel Dump
I2C (Inter-Integrated Circuit) Framework
Overview
Hardware interface
Function table
version_info function
init function
fini function
send function
recv function
abort function
set_slave_addr function
set_bus_speed function
driver_info function
ctl function
Access function
Sample calls
Application interfaces
Shared-library interface
Resource manager interface
Supporting data types
DCMD_I2C_DRIVER_INFO
DCMD_I2C_SEND
DCMD_I2C_RECV
DCMD_I2C_SENDRECV
DCMD_I2C_SET_BUS_SPEED
DCMD_I2C_SET_SLAVE_ADDR (deprecated)
DCMD_I2C_MASTER_SEND (deprecated)
DCMD_I2C_MASTER_RECV (deprecated)
Resource manager design
SPI (Serial Peripheral Interface) Framework
Hardware interface
Function table
Low-level module handle structure
init function
fini function
drvinfo function
devinfo function
setcfg function
xfer function
dma_xfer function
API library
spi_open
spi_close
spi_setcfg
spi_getdevinfo
spi_getdrvinfo
spi_read
spi_write
spi_xchange
spi_cmdread
spi_dma_xchange
Fine-tuning your network drivers
High-performance NICs
Low-performance NICs
Tuning high-performance NIC drivers
PHY probing
Speed and duplex
Migrating to QNX Neutrino for ARMv6-Processor-Based Boards
Overview
BSP configuration
armv_chip
armv_cache
armv_pte
setup
Behavior of procnto-v6 shm_ctl
Using ARMv6 instructions
QNX Neutrino for ARMv7 Cortex A-8 and A-9 Processors
Contents
Overview
libstartup
armv_chip
armv_cache
armv_pte
setup
arm_chip_detect
Behavior of procnto-v6 shm_ctl
The procnto-v6 microkernel
CPU flags
Board startup for SMP
board_smp_num_cpu
board_smp_init
board_smp_start
board_smp_adjust_num
Using ARMv7 instructions
Compiling for the ARMv7 architecture
Using Makefiles
Using qcc
Using command-line compile options
Generating hardware floating point instructions
Optimizing source code
Vector Floating Point (VFP) math library
BSP configuration for VFP
Supporting Vector Floating Point Functionality for ARM Processors
Overview
Restrictions on VFP usage
BSP configuration
Using VFP instructions
How to create a Runtime Kit from the QNX Software Development Platform
Introduction
Organization of the Runtime Kit
Standard installation steps
Creating the archives
Creating the CD
Sample installation script
Backtraces
Overview
API
Examples
Obtaining and printing a memory map
Backtracing a thread in another process
Backtracing another thread within the same process
Backtracing the current thread
Doing a BT_SELF backtrace in a signal handler
Backtracing a collection of threads
QNX support for using Freescale e500 SPE
Overview
Configuring for floating point
Configuring for the command line
Reloadable Image Filesystems
Introduction
Command-line options
Kernel restoration
Secondary IFS restoration
Examples
Kernel restoration
Secondary IFS restoration
Power callout
Minidriver support
Performance measurements
Appendix
Sample program that uses sysmgr_cpumode to call the power callout
Manually mounting an IFS
Sample script to combine IPL with boot image for the EDOSK7780
Commands to burn a new IPL/Boot image for the EDOSK7780
Filesystems and Power Failures
Introduction
Guidelines for using hard drives in an environment subject to abrupt power failures
Recipe for creating hard drive corruption
How to limit the possible hard drive corruption
How to repair hard disk corruption
Power failures while writing
Customizing language sort orders for libqdb_cldr.so
Standard language sort order files
Sort order algorithm
Contractions and expansions
Locale data files
Adding a new sort order locale
Converting CLDR POSIX files
Tailoring a sort order algorithm
Utilities Reference
About This Reference
What you'll find in this reference
Typographical conventions
Note to Windows users
Technical support
Utility Conventions
Syntax conventions
Interpreting utility syntax
Invoking utilities
File conventions
Signal conventions
Exit status conventions
Error conventions
Utilities
A
/etc/acl.conf
addr2line
addvariant
Dealing with GNU projects
Creating the initial files
Creating the subdirectories and files
Squashing levels
appbuilder
applypatch
aps
ar
arp
as
asa
/etc/autoconnect
B
basename
bc
Bases
Variables
Assignment operators
The if statement
Iteration statements
User-defined functions
Builtin variables and functions
Library functions
bdftophf2
bindres
bison
bkgdmgr
bootpd
/etc/bootptab
brconfig
bsdtar
bunzip2
bzcat
bzcmp, bzdiff
bzegrep, bzfgrep, bzgrep
bzip2
bzip2recover
bzless, bzmore
C
c++filt
calib
cam-cdrom.so
cam-disk.so
cam-optical.so
cat
CC, cc
cfgopen
chat
Chat script
Abort strings
Report strings
Timeout
Sending EOT
Generating break
Escape sequences
chattr
chgrp
chkdosfs
Summary of filesystem commands
chkfsys
After a power failure
Summary of filesystem commands
chkqnx6fs
Summary of filesystem commands
chmod
Symbolic Modes
Some examples of symbolic modes:
Octal Modes
Setgid and setuid
chown
cksum
clear
cmp
comm
confstr
/etc/context.conf
coreinfo
cp
General
Recursive copying
cpio
cron
crontab
Sample crontab entries
csplit
ctags
cut
cvs
add
admin
annotate
checkout
commit
diff
edit
editors
export
history
import
init
log
login
logout
rdiff
release
remove
rtag
status
tag
unedit
update
watch
watchers
Keyword substitution
D
D entries before deva-*
deva-*
devb-*
devc-*
devf-*
devg-*
devh-*
devi-*
devn-*
devnp-*
devp-*
devu-*
D entries beyond devu-*
date
Displaying the date
Setting the date
dcheck
dd
deflate
deva-ctrl-4dwave.so
deva-ctrl-audiopci.so
deva-ctrl-cs4281.so
deva-ctrl-ess1938.so
deva-ctrl-geode.so
deva-ctrl-i8x0.so
deva-ctrl-intel_hda.so
deva-ctrl-nmg6.so
deva-ctrl-sb.so
deva-ctrl-usb.so
deva-ctrl-via686.so
deva-ctrl-vortex.so
deva-ctrl-ymfds1.so
deva-mixer-ac97.so
deva-mixer-ak4531.so
deva-mixer-hda.so
deva-util-restore.so
devb-adpu320
cam options
cdrom options
disk options
optical options
adpu320 options
blk options
devb-aha8
cam options
cdrom options
disk options
optical options
aha8 options
blk options
devb-ahci
cam options
mem options
ahci options
blk options
devb-btmm
cam options
cdrom options
disk options
optical options
btmm options
blk options
devb-eide
blk options
cam options
cdrom options
disk options
eide options
Interface-specific options:
Device-specific options:
devb-fdc
cam options
disk options
fdc options
blk options
devb-loopback
loopback options
blk options
Driver support
Mounting
devb-mvSata
cam options
mvSata options
blk options
devb-ram
cam options
disk options
ram options
blk options
devb-umass
cam options
umass options
blk options
devc-con, devc-con-hid
Keyboard control
Character sets
Character set defaults
Character set example:
ANSI screen control codes
C0 control codes
ESC control sequences
C1 control characters (220+)
CSI control sequences
Graphic rendition
Color numbers
Modes
Mapping from QNX keyboard to ANSI keys
International keyboard layouts
devc-par
devc-pty
devc-ser8250
devc-serpci
devc-serusb
devc-serzscc
devf-generic
Verbose output
devf-ram
devg-ati_rage128.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-carmine.so
Supported chipsets
2D Acceleration features
Other features
Resolution and refresh support
The carmine.conf file
Alpha layer support
devg-chips.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-coral.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
The coral.conf file and dual-head
devg-extreme2.so
Supported chipsets
2D Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-flat.so
devg-geode.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-gma9xx.so
Supported chipsets
2D Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-i810.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-i830.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-intelhd.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-lx800.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-matroxg.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-poulsbo.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-radeon.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-rage.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-s3_savage.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-sis630.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-smi5xx.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-smi7xx.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-soft3d.so
Supported chipsets
Acceleration features
devg-soft3d-fixed.so
Supported chipsets
Acceleration features
devg-svga.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-tnt.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-tvia.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-unichrome.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-vesabios.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devg-vmware.so
Supported chipsets
Acceleration features
Video Overlay/Scaler support
Other features
Resolution and refresh support
devh-egalax.so
devh-microtouch.so
devh-ps2ser.so
devh-touchintl.so
devh-usb.so
devi-dyna
devi-elo
devi-hid
devi-hirun
protocol [protocol_opts...]
device [device_opts...]
filter [filter_opts...]
devi-microtouch
devi-semtech
devi-zytronic
devn-asix.so
devn-crys8900.so
devn-dm9102.so
devn-el509.so
devn-el900.so
devn-epic.so
devn-fd.so
devn-i82544.so
devn-micrel8841.so
devn-ne2000.so
devn-pcnet.so
devn-pegasus.so
devn-rtl.so
devn-rtl8150.so
devn-sis9.so
devn-smc9000.so
devn-speedo.so
devn-tigon3.so
devn-tulip.so
devn-via-rhine.so
devnp-ath.so
devnp-axe.so
devnp-bce.so
devnp-bcm1250.so
devnp-bcm43xx.so
devnp-bge.so
devnp-e1000.so
devnp-ecm.so
devnp-i80579.so
devnp-i82544.so
devnp-mpcsec.so
devnp-mpc85xx.so
devnp-msk.so
devnp-ncm.so
devnp-ral.so, devnp-ural.so
devnp-rtl8169.so
devnp-rum.so
devnp-shim.so
devnp-speedo.so
devp-pccard
Resources and Server Configuration Files
CardBus
devu-ehci.so
devu-kbd
devu-mouse
devu-ohci.so
devu-prn
devu-uhci.so
df
dhcp.client
/etc/dhcp/dhcp-check
/etc/dhcp/dhcp-up
/etc/dhcp/dhcp-options
Based on:
dhcpd
OMAPI
Lease object
Host object
Control object
Failover-state object
Based on:
/etc/dhcpd.conf
File format
Scope
host keyword
group keyword
subnet keyword
When a subnet becomes a shared network
For clients on more than one subnet
shared-network keyword
global keyword
Statements
Range statements
Permission statements
Parameter statements
DHCP option statements
Data types in DHCP options
Standard DHCP option statements
Troubleshooting
Related issues
Dynamic address allocation
Preventing IP address conflicts
Security
/var/state/dhcp/dhcpd.leases
dhcprelay
Relay agent information options
Specifying DHCP servers
diff
diff3
Sample input files
Sample file #1 --- lao
Sample file #2 --- tzu
Sample file #3 --- tao
Detailed description of diff3 normal format
diff3 hunks
An example of diff3 normal format
Merging from a common ancestor
Selecting which changes to incorporate
Marking conflicts
Generating the merged output directly
How diff3 merges incomplete lines
Saving the changed file
dig
dinit
Summary of filesystem commands
dirname
diskboot
dispconf
dloader
dnssec-dsfromkey
dnssec-keyfromlabel
dnssec-keygen
dnssec-signzone
ds
Data server library
du
dumpefs
dumper
dumpifs
E
echo
ed
egrep
elvis
Visual mode
Input mode
Operators
Special cases
Named buffers
Movement commands
Cursor movement
Marking
Tags
Inserting text
Input mode
Deleting, yanking, putting
Filters
Shifting text
Miscellaneous commands
Searching
Global & substitute commands
Substitute command
Global command
Undo and retrieving
Screen commands
Writing files
Editing other files
Reading in a file
Leaving elvis
Escaping to a shell
Macros
Abbreviations
Options
ex commands
enum-devices
Overview
Matching rules
Configuration files
etc/system/enum/devices/
etc/system/enum/devices/usb/
etc/system/enum/include/
Configuration file precedence
Configuration file contents
start clause
requires clause
driver clause
mount clause
enumerator clause
set clause
append clause
uniq clause
waitfor clause
echo clause
tag clause
config clause
use clause
Macros
Bus-enumerator protocol
enum-usb
Overview
USB device information
Microsoft descriptors
Behavior when enumerating a single USB device
The enum-usb configuration file
Sample enum-usb.conf configuration file
Device
Ignore
NoMSString
Config
Multiple configuration selections
Composing Config option statements
Set
Composing Set option statements
user_spec_id
inc_user_spec_id
Using enum-devices with enum-usb
enum-usb.conf
enum-devices configuration file
env
errno
esh
Command-line format
Filename expansion
Quoting
Escape character (backslash)
Double quotes
Builtin commands
. (dot) command
alias command
cd command
emount command
ewaitfor command
exec command
exit command
export command
kill command
reopen command
set command
unset command
etfsctl
Device
Pools
Counts
Errors
expand
/etc/exports
Limitations:
expr
F
false
fcat
fdformat
fdisk
Partition types
Commands
Interactive mode
fesh
ecp command
edf command
eecho command
els command
emkdir command
epwd command
erm command
ermdir command
fgrep
file
find
Primary expressions
Formatted printing (-printf and -fprintf primitives)
Backslash (\) Escape Codes
Format Codes
finstall
flashctl
Filesystem information
flex
fmt
fold
fontinfo
fpemu.so
freeze
fs-cd.so
fs-cifs
fs-dos.so
Summary of filesystem commands
fs-etfs-ram
Common options
Driver options
fs-ext2.so
Summary of filesystem commands
fs-mac.so
Summary of filesystem commands
fs-nfs2
fs-nfs3
fs-nt.so
Summary of filesystem commands
fs-qnx4.so
Summary of filesystem commands
fs-qnx6.so
Required properties of the device
Summary of filesystem commands
fs-udf.so
fsysinfo
/etc/fstab
ftp
/etc/ftpchroot
ftpd
Setting up a restricted ftp subtree
/etc/ftpd.conf
Default settings
/etc/ftpusers
Related files
fullpath
G
g++
/etc/gateways
Other parameter settings
gawk
Expressions:
Variables
Patterns
Special patterns --- BEGIN and END
Regular expressions
Pattern ranges
Expression patterns
Actions
Output statements
Functions:
Arithmetic Functions:
String functions:
Input/Output and general functions:
User-defined functions
Sample awk programs:
gcc
QNX Neutrino cross-development options
Overall options
C language options
C++ language options
Warning options
Debugging options
Optimization options
Preprocessor options
Assembler option
Linker options
Directory options
Target options
Machine-dependent options
Code-generation options
gcov
gdb
getconf
getty
gf-calib
gns
APIs and advertising rules
Pathname space
Connection rules for GNS
Multiple GNS servers
Multiple service domains
Redundant GNS servers
Auto-scanning client
Backup server mode
GNS and tightly coupled network
Special pathname
gprof
grep
Basic regular expressions
Extended Regular Expressions
Fixed Regular Expressions
gunzip
gzip
H
ham
hamctrl
hd
Output formats
head
helpviewer
Creating help files:
Supported elements
Supported entities
Creating topic files
Level 1
Level 2
Level 3
An example
Publishing your topic file
Searching
hidview
hogs
host
hostapd
hostname
/etc/hosts
/etc/hosts.equiv
Positive entries
Negative entries
I
id
if_up
ifconfig
Parameters
Diagnostics
ifwatchd
indent
inetd
Internal services
Effects of SIGHUP
/etc/inetd.conf
Setting the IPsec policy
IPv6 TCP/UDP behavior
inflator
infocmp
input-cfg
inputtrap
Probing
Using a trapfile
io-audio
io-blk.so
Suffixes for size, memory, and time arguments
blk options
Filesystem options
Controlling writing operations
Naming schemes
io-display
The io-display configuration file
The io-display server and Photon
io-graphics
io-graphics configuration options
io-hid
io-pkt-v4, io-pkt-v4-hc, io-pkt-v6-hc
TCP/IP options
Generic driver options
io-usb
Selecting a driver configuration
J
join
K
kill
ksh
Shell startup
Command syntax
Compound commands
Quoting
Aliases
Substitution
Parameters
Tilde expansion
Brace expansion (alternation)
Filename patterns
Input/output redirection
Arithmetic expressions
Coprocesses
Functions
POSIX mode
Command execution and builtin commands
. (dot) builtin command
: (null) builtin command
alias builtin command
bg builtin command
bind builtin command
break builtin command
builtin builtin command
cd builtin command
command builtin command
continue builtin command
echo builtin command
eval builtin command
exec builtin command
exit builtin command
export builtin command
false builtin command
fc builtin command
fg builtin command
getopts builtin command
hash builtin command
jobs builtin command
kill builtin command
let builtin command
print builtin command
pwd builtin command
read builtin command
readonly builtin command
return builtin command
set builtin command
shift builtin command
test builtin command
times builtin command
trap builtin command
true builtin command
typeset builtin command
ulimit builtin command
umask builtin command
unalias builtin command
unset builtin command
wait builtin command
whence builtin command
Job control
emacs interactive input-line editing
L
ld
ldd
ldrel
less
Commands:
link
ln
ln-w
logger
login
logout
lpd
lpr
Diagnostics
lprc
lprq
lprrm
ls
QNX Neutrino extensions:
Filetype and permissions
lsm-autoip.so
lsm-pf-v4.so, lsm-pf-v6.so
lsm-qnet.so
lwresd
M
m4
/usr/share/misc/magic
make
mcd
Local mode
Limitations
Overview
MCD rules
Monitor a mediastore
Monitor namespace changes
Monitor the presence of files
MCD server
Operational flow
Startup
Device or insertion
Configuring the MCD
Configuration file sections
Entity descriptions
Parameters
Media content rules
Parameters
Notification routine
Using the MCD as a filesystem automounter
First-level entries
Second-level entries
The mcd resource manager interface
.insert and .eject files
.devices directory
Sequence number
Example: Filesystem hierarchy
Read-only entries for rules
Callout templates
Insertion and ejection notification
Arguments
Built-in notification routines
Media content determination
Arguments
Returns
Built-in content detection rules
MOUNT_FSYS special sequences
Client API
Maintained information
Example: Media player
Example: Polling
Stale Rules
Additional Information
Detecting other kinds of system media
Detecting USB and iPod devices
Pattern matching and case-sensitivity
Matching a single rule
Detecting CD insertion with non-media content
CD-changer controlled by external firmware
Using the MCD as a partition enumerator
Two-phase filesystem mount example
mcs
melt
mesg
/etc/mib.txt
mix_ctl
mixer
mkasmoff
mkcldr
mkbuild
mkdir
mkdosfs
Summary of filesystem commands
mkefs
Buildfiles
Attributes
bigendian attribute (boolean)
block_size attribute
cd attribute
dperms attribute
ecc_on attribute
filter attribute
followlink attribute (boolean)
gid attribute
max_size attribute
min_size attribute
mount attribute
mountperms attribute
optional attribute (boolean)
perms attribute
prefix attribute
search attribute
spare_blocks attribute
type attribute
uid attribute
Patch files
mketfs
Buildfiles
Attributes
bigendian attribute (boolean)
block_size attribute
cd attribute
cluster_size attribute
dperms attribute
filter attribute
followlink attribute (boolean)
gid attribute
mountperms attribute
num_blocks attribute
optional attribute (boolean)
perms attribute
prefix attribute
search attribute
type attribute
uid attribute
Patch files
mkfifo
mkfontdir
mkifs
Buildfiles
Attributes
autolink attribute (boolean)
+
bigendian attribute (boolean)
cd attribute
chain attribute
code attribute
compress attribute
data attribute
dperms attribute
filter attribute
followlink attribute (boolean)
gid attribute
image attribute
keeplinked attribute (boolean)
keepsection attribute
linker attribute
module attribute
optional attribute (boolean)
page_align attribute (boolean)
pagesizes attribute
perms attribute
phys_align attribute
physical attribute
prefix attribute
ram attribute
raw attribute (boolean)
script attribute (boolean)
search attribute
type attribute
uid attribute
virtual attribute
Script files
argv0 modifier
cpu modifier
external modifier (boolean)
pri modifier
sched_aps modifier
session modifier (boolean)
Bootfile
Image filter
Linker specification
Output image format
Boot prefix
Startup header
Startup
Startup trailer
Image header
Image directory
Files
Image trailer
Notes on XIP versus copy
Patch files
mkimage
mkkbd
mkqnx6fs
Summary of filesystem commands
mkrec
mksbp
mkxfs
/etc/moduli
more
mount
mq
mqueue
mrouted
Invocation
Configuring mrouted
Configuration command options
Signals
Routing tables
mstrip
mv
N
named
named-checkconf
named-checkzone, named-compilezone
/etc/named.conf
ndp
netmanager
netstat
Default display
Interface display
Routing table display
Specifying an interface
/etc/networks
newgrp
nfsd
Security Issues
Configuring Caches
/etc/nfsstart
nice
nicinfo
nm
nohup
nslookup
Interactive commands
Diagnostics:
/etc/nsswitch.conf
Sources
Databases
Status codes
Actions
Format of the file
nsupdate
ntpd
Basic operation of the ntpd utility
Frequency discipline
Operating modes
Poll interval control
The huff-n'-puff filter
ntpdate
ntpdc
Interactive commands
Control message commands
Runtime configuration requests
ntpq
Internal commands
Control message commands
Tally codes
System variables
Peer variables
Flash codes
ntptrace
O
objcopy
objdump
od
Output formats
omshell
Opening a connection
Associating local and remote objects
Viewing a remote object
Modifying a remote object
New remote objects
Resetting attributes
on
The -f vs -n option
Setting the runmask
op
openssl
Command summary
Standard commands
Message digest commands
Encoding and cipher commands
Pass phrase arguments
P
/etc/party.conf
passwd
passwd file
paste
patch
pax
pccard-launch
pci
pci-bios, pci-bios-v2
pcnfsd
/etc/pcnfsd.conf
pdebug
ped
Cursor movement commands
Deletion commands
Formatting commands
Centering commands
Clipboard commands
Special commands
File menu operations
Search menu operations
Options menu operations
Type menu operations
pf
ioctl interface
/etc/pf.conf
Statement order
Macros
Tables
Options
Traffic normalization
Queueing
Translation
Packet filtering
Parameters
Routing
Pool options
Stateful inspection
State modulation
SYN proxy
Stateful tracking options
Operating system fingerprinting
Blocking spoofed traffic
Fragment handling
Anchors
Translation examples
Filter examples
Grammar
Associated files
pfctl
pfm
Viewing and editing files
Moving, deleting, and renaming files
Navigating
Setting pfm preferences
ph
phablang
phabmsg
phcalc
phdialer
phditto
Remote connectivity via modem
Remote connectivity via TCP/IP
phfind
phfont
fontdir
fontext
fontmap
fontopts
phgrafx
Changing the graphics resolution
Selecting the refresh rate
Selecting hardware or software cursor rendering
Global Options
Advanced Options
Hardware Details
Region Settings
phin
phlip
Configuring your network interfaces
Devices tab
Devices + advanced options tab
Connections + Network tab
Connections + Connection tab
Connections + Modem tab
Connections + Logging tab
Network tab
Network + advanced options tab
phlocale
phlogin, phlogin2
phmenu
Photon
phrelay
Remote connectivity via modem
Remote connectivity via TCP/IP
Configuring for TCP/IP
Connecting using a serial port
Example serial connection
Using predefined Photon services
phrelay configuration file format
Data compression options
Data caching options
Encryption
Security
phrelaycfg
phs-to-bjc
phs-to-bmp
phs-to-escp2
phs-to-ijs
phs-to-pcl
phs-to-ps
phshutdown
phuser
phview
pidin
Format letters
Memory format letters
Shorthand forms
pin
ping
Debugging
ICMP packet details
Duplicate and damaged packets
Trying different data patterns
TTL details
ping6
Duplicate and damaged packets
Trying different data patterns
pipe
pppd
pppoectl
Supported parameters
pppoed
pps
pr
preview
/etc/printcap
Capabilities
printf
Format control flags
Field width
Precision
Type length
Conversion character
Escape sequences
prjobs
procnto*
Memory configuration
/proc filesystem
/etc/protocols
ps
Controlling output
pterm
Keys and keychords
Customizing your font list
ptermcs
Terminal charset setup
pv
pwd
pwm
PWM Options
Configuring the Desktop menu
pwmopts
python
Q
qbinaudit
QCC, qcc
Profiling
qconfig
qconn
qcp
qde
qed
qtalk
Configuring default behavior
Logging a session
Using the command character
Replacing the rubout/delete character
Enabling flow control
Transferring files
Invoking qcp and ZMODEM automatically
Interactive commands:
QWinCfg
R
racoon
/etc/racoon.conf
Path Specification
File Inclusion
Identifier Specification
Timer Specification
Listening Port Specification
Remote Nodes Specifications
Policy Specifications
Sainfo Specifications
Logging level
Specifying the way to pad
Special directives
Pre-shared key File
random
ranlib
rcp
readelf
renice
/etc/resolv.conf
Overriding /etc/resolv.conf
Keywords
nameserver
domain
search
nocache
~/.rhosts
Positive entries
Negative entries
rlogin
rlogind
Diagnostics
rm
rmdir
rndc
rndc-confgen
rndc.conf
route
command options
Diagnostics
route6d
routed
/etc/rpc
rpcbind
rpcgen
rpcinfo
rsh
rshd
Diagnostics
rtadvd
/etc/rtadvd.conf
Capabilities
rtc
rtquery
rtsold
ruptime
rwho
rwhod
S
savercfg
scp
script
sed
Scripts
Addresses
Regular expressions
Editing commands
seedres
sendnto
/etc/services
setconf
setkey
Operations
Meta-arguments for operations
Algorithms for protocol
setupbsp
sftp
sftp-server
sh
shelf
showlicense
showmem
-S option
-P option
-D option
showmount
show_vesa
shutdown
size
slay
Setting the runmask
sleep
slinger
Running Slinger
How dynamic HTML works
Syntax of an SSI token
SSI commands
break
config
echo
exec
if
goto
include
label
qnxvar
config commands
Ways to achieve dynamic HTML
The data server
Executing CGI scripts
Security precautions
The right way
The wrong way
Slinger configuration
Available to CGI scripts
slogger
sloginfo
smic
Refining syntax checking
Include File
snapshot
snmpbulkwalk
Using SNMPv1
Using SNMPv2
snmpd
/etc/snmpd.conf
snmpget
Using SNMPv1
Using SNMPv2
snmpgetnext
snmpnetstat
Addresses
Interface displays
Routing table display
snmpset
Using SNMPv1
Using SNMPv2
snmpstatus
snmptest
snmptranslate
snmptrap
Using SNMPv1
Using SNMPv2
snmptrapd
snmpwalk
Using SNMPv1
Using SNMPv2
/etc/socks.conf
sockstat
sort
spatch
split
spooler
ssh
ssh-add
ssh-agent
~/.ssh/ssh_config, /etc/ssh/ssh_config
ssh-keygen
ssh-keyscan
ssh-keysign
sshd
/etc/ssh/sshd_config
startup-* options
Generic options
Options for ARM startups
Options for PowerPC startups
Options for x86 startups
startup-apic
Debug channels
startup-bios, startup-bios-32
Debug channels
strings
strip
stty
Supported operands
Line control parameters
Input processing parameters
Output processing parameters
Special control characters
Extended line-editing character sequences
Action characters
su
svn
sync
sysctl
sysinfo
/etc/syslog.conf
syslogd
T
tail
tar
tcpdump
Expressions
Output format
Link-level headers
ARP/RARP packets
TCP Packets
Capturing TCP packets with particular flag combinations (SYN-ACK, URG-ACK, etc.)
UDP Packets
UDP Name Server Requests
UDP Name Server Responses
SMB/CIFS decoding
NFS Requests and Replies
AFS Requests and Replies
KIP AppleTalk (DDP in UDP)
IP Fragmentation
Timestamps
tee
telnet
Telnet commands:
telnetd
Name resolving issues
Typical configuration for running telnetd on an embedded target
termdef
Using termdef from the shell
sysinit examples in conjunction with tinit
Command-line examples
textto
tftp
Commands:
tftpd
tic
time
tinit
ttys configuration file
top
touch
tr
Conventions for string1 and string2
tracelogger
traceprinter
traceroute
traceroute6
true
tsort
tty
U
uesh
Command-line format
Filename expansion
Quoting
Builtin commands
cd command
emount command (QNX Momentics 6.3.0 Service Pack 2 or later)
ewaitfor command (QNX Momentics 6.3.0 Service Pack 2 or later)
exec command
exit command
export command
umask
umount
uname
unexpand
unifdef
uniq
unlink
unzip
uptime
usb
use
Usage messages in shell scripts
usemsg
Displaying help messages in ported executables
Adding or changing a usage message
uud
uudecode
uue
uuencode
V
vi
view
/etc/view.conf
W
waitfor
wave
waverec
wc
which
who
wiconfig
wlanctl
wpa_cli
Supported commands
wpa_passphrase
wpa_supplicant
Supported features
X
xargs
Y
Z
zap
zcat
zip
Commonly Used Environment Variables
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
Selecting the Target System
Target selection
Architecture selection
Linker emulation selection
What's New in This Reference?
What's new in the QNX Software Development Platform 6.5.0 SP1 online docs?
New entries
Changed content
Errata
What's new in the QNX Software Development Platform 6.5.0 Service Pack 1?
New entries
Changed content
Errata
What's new in the QNX Software Development Platform 6.5.0?
New entries
Deprecated content
Changed content
Errata
What's new in the QNX Software Development Platform 6.4.1?
New entries
Deprecated content
Changed content
Errata
What's new in the QNX Software Development Platform 6.4.0?
New entries
Deprecated content
Changed content
Errata
What's new in QNX Momentics 6.3.2?
New entries
Changed content
Errata
What's new in the QNX Neutrino Core OS 6.3.2?
New entries
Changed content
Errata
What's new in QNX Momentics 6.3.0 Service Pack 2?
New entries
Changed content
Errata
What's new in QNX Momentics 6.3.0 Service Pack 1?
New entries
Changed content
What's new in QNX Momentics 6.3.0?
New entries
Deleted entries
Changed content
Errata
What's new in QNX Momentics 6.2.1?
New entries
Deleted entries
Changed content
Errata
Glossary
Keyword Index
!
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Getting to Know the OS
How QNX Neutrino compares to other operating systems
Unix
Microsoft Windows
Limitations
How Neutrino is unique
Resource managers
Logging In, Logging Out, and Shutting Down
root or non-root?
Logging in
Photon mode
Text mode
Once you've logged in
Logging out
Photon mode
Text mode
Shutting down and rebooting
Managing User Accounts
What does a user account do?
User accounts vs user IDs: login, lookup, and permissions
What happens when you log in?
Account database
/etc/passwd
/etc/group
/etc/shadow
/etc/.pwlock
Managing your own account
Changing your password
Forgot your password?
Managing other accounts
Adding users
Removing accounts
Defining groups
Creating a new group
Modifying an existing group
Troubleshooting
Using the Command Line
Command line or GUI?
Processing a command
Character-device drivers
Input modes
Terminal support
Telnet
The keyboard at a glance
Physical and virtual consoles
Shell
Editing the command line
Command and filename completion
Reserved words
Entering multiple commands
Aliases
Substitutions
Directories --- tilde expansion
Parameters
Commands
Arithmetical expressions
Braces
Filename generation
Redirecting input and output
Pipes
Quoting special characters
History: recalling commands
Shell scripts
Utilities
Understanding command syntax
Displaying online usage messages
Executing commands on another node or tty
Priorities
Basic commands
International keyboards
Neutrino for MS-DOS users
DOS commands and their Neutrino equivalents
MS-DOS local command-interpreter variables
Troubleshooting
Using the Photon microGUI
Overview of Photon
Why is it called Photon?
Why is it called a microGUI?
Your workspace
Modifying the shelf
Modifying the Launch menu
Creating items and submenus
Target files
Controlling the order of items
Additional menu control
Troubleshooting
Modifying the Desktop menu
Starting applications automatically
Configuration tools
Browsing files with the File Manager
Getting help with the Helpviewer
Searching for a topic or keyword
Bookmarking a topic to view it again later
Navigating around help files
Viewing more than one topic at once
Surfing the web
Connecting to other systems
Phditto
Phindows
Configuring the Neutrino machine for TCP/IP use
Starting Phindows
Additional options
Hotkeys and shortcuts
pterm
Text field
Window
Workspace
Exiting Photon
Photon environment variables
Troubleshooting
Working with Files
Everything is a file
Types of files
Filenames and pathnames
Absolute and relative pathnames
Dot and dot-dot directories
A note about cd
No drive letters
Pathnames that begin with a dot
Extensions
Pathname-space mapping
Filename rules
Where everything is stored
/
/bin
/boot
/dev
/etc
/fs
/home
/lib
/proc
/root
/sbin
/tmp
/usr
/var
File ownership and permissions
Setuid and setgid
Sticky bit
Default file permissions
Filename extensions
Troubleshooting
Using Editors
Choosing an editor
Supported editors
vi
ped
Specifying the default editor
Controlling How Neutrino Starts
What happens when you boot?
Loading a Neutrino image
Power-Safe filesystem
QNX 4 filesystem
diskboot
.diskroot
/etc/system/sysinit
Device enumeration
oem file or directory
overrides file or directory
Host-specific enumerators
/etc/rc.d/rc.sysinit
rc.local
tinit
Updating disk drivers
Applying a driver update patch after you've installed QNX Neutrino
Troubleshooting
Configuring Your Environment
What happens when you log in?
Customizing your home
Configuring your shell
/etc/profile
$HOME/.profile
ksh's startup file
Environment variables
Setting PATH and LD_LIBRARY_PATH
Configuration strings
Setting the time zone
Caveats
Examples
Eastern time
Pacific time
Newfoundland time
Central European time
Japanese time
Programming with time zones
Customizing Photon
Starting applications automatically
The right fonts
Input methods
Terminal types
Troubleshooting
Writing Shell Scripts
What's a script?
Available shells
Running a shell script
The first line
Arguments to a ksh script
Arguments to a gawk script
Arguments to a perl script
Example of a Korn shell script
Efficiency
Caveat scriptor
Working with Filesystems
Introduction
Setting up, starting, and stopping a block filesystem
Mounting and unmounting filesystems
Image filesystem
Configuring an OS image
/dev/shmem RAM filesystem
QNX_4 filesystem
Extents
Filenames
Links and inodes
Removing links
Directory links
Symbolic links
Filesystem robustness
Power-Safe filesystem
Booting
Snapshots
DOS filesystem
CD-ROM filesystem
Linux Ext2 filesystem
Flash filesystems
CIFS filesystem
NFS filesystem
Setting up NFS
NFS server
NFS client
Universal Disk Format (UDF) filesystem
Apple Macintosh HFS and HFS Plus
Windows NT filesystem
Inflator filesystem
Troubleshooting
Using Qnet for Transparent Distributed Processing
What is Qnet?
When should you use Qnet?
Conventions for naming nodes
Software components for Qnet networking
Starting Qnet
Creating useqnet
Starting the network manager, protocols, and drivers
Checking out the neighborhood
Populating /net
Troubleshooting
Is Qnet running?
Are io-pkt* and the drivers running?
Is the network card functional?
How do I get diagnostic information?
Is the hostname unique?
Are the nodes in the same domain?
TCP/IP Networking
Overview of TCP/IP
Clients and servers
Hosts and gateways
Name servers
Routing
Software components for TCP/IP networking
Running the Internet daemons
Running multiple instances of the TCP/IP stack
Dynamically assigned TCP/IP parameters
Using PPPoE
Establishing a PPPoE session
Starting a point-to-point connection over PPPoE session
Using DHCP
Using AutoIP
Troubleshooting
Are io-pkt* and the drivers running?
What is the name server information?
How do I map hostnames to IP addresses?
How do I get the network status?
How do I make sure I'm connected to other hosts?
How do I display information about an interface controller?
Printing
Overview of printing
Printing with lpr
User interface
lpd --- printer daemon
lpr --- start a print job
lprq --- show printer queue
lprrm --- remove jobs from a queue
lprc --- printer-control program
Spooling directories
Access control
Network manager
Printer capabilities: /etc/printcap
A typical setup
Printers on serial lines
Remote printers
Filters
Some /etc/printcap examples
USB printer
Single printer
Multiple printers
Local and remote printers
Remote printing to a printer on another network
Remote printing to a TCP/IP-enabled printer using lpr
Printing with spooler
Setting up spooler
Printing on a USB printer
Remote printing over Qnet
Remote printing over TCP/IP
Troubleshooting
Understanding lpr error messages
lpr error messages
lprq error messages
lprrm error messages
lprc error messages
lpd error messages
Troubleshooting remote printing problems
Connecting Hardware
Introduction
PCI/AGP devices
CD-ROMs and DVDs
Floppy disks
Hard disks
EIDE
Troubleshooting for devb-eide
SCSI devices
SCSI RAID
LS-120
ORB
Zip and Jaz disks
Magnetic optical drives
RAM disks
Input devices
Mice and keyboards
Touchscreens
Audio cards
ISA cards
Non-PnP-based
PnP-based
PCI Cards
PCCARD and PCMCIA cards
USB devices
Printers
Mice and keyboards
Touchscreens
Ethernet adapters
Mass-storage devices
Troubleshooting
Character devices
General serial adapters
Multiport serial adapters
Parallel ports
Terminals
I/O attributes
Network adapters
Identify your NIC
Start the driver
Make sure the driver is communicating properly with the hardware
Physical Node ID
Current Physical Node ID
Current Operation Rate
Active Interface Type
Active PHY Address
Power Management State
Maximum Transmittable data Unit
Maximum Receivable data Unit
Receive Checksumming Enabled, Transmit Checksumming Enabled
Hardware Interrupt
DMA Channel
I/O Aperture
Memory Aperture
ROM Aperture
Promiscuous Mode
Multicast Support
Packets Transmitted OK
Bytes Transmitted OK
Total Packets Transmitted Bad
Broadcast Packets Transmitted OK
Multicast Packets Transmitted OK
Memory Allocation Failures on Transmit
Packets Received OK
Bytes Received OK
Single Collisions on Transmit
Multiple Collisions on Transmit
Deferred Transmits
Late Collision on Transmit errors
Transmits aborted (excessive collisions)
Transmits aborted (excessive deferrals)
Transmit Underruns
No Carrier on Transmit
Jabber detected
Receive Alignment errors
Received packets with CRC errors
Packets Dropped on receive
Ethernet Headers out of range
Oversized Packets received
Frames with Dribble Bits
Total Frames experiencing Collision(s)
Modems
Internal modems
ISA non-PnP
ISA PnP
PCI-based modems
External modems
Cable Modems / ISDN
Testing modems
Troubleshooting modems
Video cards
Changing video modes in Photon
Manually setting up your video card
Setting up multiple displays
GF
Photon
Configuring multiple displays with multiple video cards
Configuring multiple displays using a single video device
Setting Up an Embedded Web Server
Where should you put the files?
Running Slinger
Dynamic HTML
CGI method
SSI method
Syntax for SSI Commands
Data server method
Security precautions
Examples
Configuration
Script
rand_images.c
rand_images.pl
Using CVS
A crash course in CVS
CVS basics
Revisions
Basic operations
Repositories
Editors and CVS
Creating a repository
Getting files in and out of the repository
Putting changes back into the repository
Importing an existing source tree
Getting information on files
Changing files
More information on files: what changed and why
CVS and directory trees
Concurrent development: branching and merging
Branching
Merging
Removing and restoring files
Setting up a CVS server
Backing Up and Recovering Data
Introduction
Backup strategies
Choosing backup storage media and location
Choosing a backup format
Controlling your backup
Archiving your data
Creating an archive
Extracting from an archive
Compressing an archive
Decompressing the archive
Storage choices
CDs
Bootable CDs
Removable media
Backing up physical hard disks
Ghost Images
Remote backups
CVS
Remote filesystems
Other remote backups
QNX_4 disk structure
Partition components
Loader block
Root block
Bitmap blocks
Root directory
Directories
Links
Extent blocks
Files
File-maintenance utilities
fdisk
dinit
chkfsys
dcheck
zap
Recovering a zapped file
spatch
Recovering disks and files
Using chkfsys
When to run chkfsys
Using chkfsys on a live system
Recovering from a bad block in the middle of a file
What to do if your system will no longer boot
If the mount fails...
If the disk is unrecoverable
If the filesystem is intact
Securing Your System
General OS security
Remote and local attacks
Remote exploits
Local exploits
Effects of attacks
Viruses
Neutrino security in general
Neutrino-specific security issues
Message passing
pdebug
qconn
Qnet
IPSec
Setting up a firewall
Fine-Tuning Your System
Getting the system's status
Improving performance
Faster boot times
Filesystems and block I/O (devb-*) drivers
Performance and robustness
Metadata updates
Ordering the updates to metadata
Throughput
Configuration
Block I/O commit level
Record size
Double buffering
File descriptor vs standard I/O
Pregrowing a file
Fine-tuning USB storage devices
How small can you get?
Understanding System Limits
The limits on describing limits
Configurable limits
Filesystem limits
Querying filesystem limits
QNX 4 filesystem
Power-Safe (fs-qnx6.so) filesystem
Ext2 filesystem
DOS FAT12/16/32 filesystem
CD-ROM (ISO9660) filesystem
NFS2 and NFS3 filesystem
CIFS filesystem
Embedded (flash) filesystem
Embedded Transaction filesystem (ETFS)
UDF filesystem
Apple Macintosh HFS and HFS Plus
Windows NT filesystem
Other system limits
File descriptors
Synchronization primitives
TCP/IP limits
Shared memory
Message queues
Platform-specific limits
Technical Support
Examples
Buildfile for an NFS-mounting target
qnxbasedma.build
Buildfile that doesn't use diskboot
.profile
.kshrc
Configuration files for spooler
Using lpr
Using NCFTP
Using SAMBA
PPP with CHAP authentication between two Neutrino boxes
Glossary
Keyword Index
!
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Writing a Resource Manager
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Overview
What is a resource manager?
Why write a resource manager?
The types of resource managers
Device resource managers
Filesystem resource managers
Communication via native IPC
Examples of resource managers
Transparent Distributed Processing (Qnet) statistics
Robot arm
GPS devices
Database example
I2C (Inter-Integrated Circuit) driver
When not to use a resource manager
The Bones of a Resource Manager
Under the covers
Under the client's covers
Under the resource manager's covers
Layers in a resource manager
The iofunc layer
The resmgr layer
The dispatch layer
The thread pool layer
Simple examples of device resource managers
Single-threaded device resource manager
Initialize the dispatch interface
Initialize the resource manager attributes
Initialize functions used to handle messages
Initialize the attribute structure used by the device
Put a name into the namespace
Allocate the context structure
Start the resource manager message loop
Multithreaded device resource manager
Define THREAD_POOL_PARAM_T
Initialize thread pool attributes
Allocate a thread pool handle
Start the threads
Fleshing Out the Skeleton
Message types
Connect messages
I/O messages
Default message handling
open, dup, and close
Setting resource manager attributes
Ways of adding functionality to the resource manager
Using the default functions
Using the helper functions
Writing the entire function yourself
POSIX-Layer Data Structures
The iofunc_ocb_t (Open Control Block) structure
The iofunc_attr_t (attribute) structure
The optional iofunc_mount_t (mount) structure
Handling Read and Write Messages
Handling the _IO_READ message
Sample code for handling _IO_READ messages
Handling the _IO_WRITE message
Sample code for handling _IO_WRITE messages
Methods of returning and replying
Returning with an error
Returning using an IOV array that points to your data
Returning with a single buffer containing data
Returning success but with no data
Getting the resource manager library to do the reply
Performing the reply in the server
Leaving the client blocked, replying later
Returning and telling the library to do the default action
Handling other read/write details
Handling the xtype member
If you aren't expecting extended types (xtype)
Handling pread* and pwrite*
Sample code for handling _IO_READ messages in pread*
Sample code for handling _IO_WRITE messages in pwrite*
Handling readcond
Updating the time for reads and writes
Combine Messages
Where combine messages are used
Atomic operations
Using a mutex
Per-thread files
The readblock function
Bandwidth considerations
The library's combine-message handling
Component responses
Component data access
Locking and unlocking the attribute structure
Connect message types
_IO_CONNECT_COMBINE_CLOSE
_IO_CONNECT_COMBINE
Extending the POSIX-Layer Data Structures
Overview
Extending the OCB and attribute structures
Extending the mount structure
Handling Other Messages
Custom messages
Handling devctl messages
Sample code for handling _IO_DEVCTL messages
Handling ionotify and select
Sample code for handling _IO_NOTIFY messages
Handling out-of-band (_IO_MSG) messages
Handling private messages and pulses
Using MsgSend and MsgReply
The client
Handling open, dup, and close messages
Handling mount
mount function call
Mount in the resource manager
mount utility
Handling stat
Handling lseek
Signals, Timeouts, and Interrupts
Handling client unblocking due to signals or timeouts
Handling interrupts
Sample code for handling interrupts
Multithreaded Resource Managers
Multithreaded resource manager example
Thread pool attributes
Thread pool functions
Filesystem Resource Managers
Considerations for filesystem resource managers
Taking over more than one device
Handling directories
Matching at or below a mountpoint
The _IO_OPEN message for filesystems
Returning directory entries from _IO_READ
Returning information associated with a directory structure
Glossary
Keyword Index
!
A
B
C
D
E
F
G
H
I
L
M
N
O
P
Q
R
S
T
U
V
W
X
QNX Screen Graphics Subsystem
Optimizing Startup Times for Screen
Optimizing
Screen
Startup Time
Configure a Primary and Secondary IFS on the System
Example for the Freescale i.MX6 SABRE Smart board
Optimize the
Screen
Configuration File
Optimize the Boot Script
Sample
script
section in the buildfile for an i.MX6 SABRE Smart board
Optimize the Splash Screen Application
Choose how to render to a display
Avoid using a framebuffer
Optimizing the usage of APIs
Optimize the usage of windows from
Screen
Use multiple threads
Use statically linked libraries
Other Techniques and Troubleshooting
Other System Optimization Practices
About the system startup sequence
Optimize the bootloader
Use the optimized image scan functions
Generic techniques to reduce the size of the IFS
Reduce the size of the startup program
Remove unnecessary debug printing
Enable fast reading in the SD card
Use compression strategies
Reorder the startup program
Make careful use of the default boot script
Consider the placement of
waitfor
statements
Screen Developer's Guide
Application Development
Function execution types
Apply execution
Delayed execution
Flushing execution
Immediate execution
Rendering
Render Targets
Software Rendering
Hardware Rendering
Khronos rendering APIs
Blitting
Hybrid Rendering
Windowing
Window Groups
Window Geometry
Window types
Window properties
Window rotation
Window Management
Tutorials
Create a window
Create a child window
Zooming with windows
Displaying in fullscreen mode
Zooming in (from the window's parent)
Zooming in (from the owner of a window)
Zooming out (from a window's parent)
Zooming out (from the owner of a window)
Using a source clip rectangle
Resource Sharing
Cloning
Windows
Streams
Displays
Tutorial: Screenshots
Using
screen_read_window()
Using
screen_read_display()
Using Streams
Producer
Consumer
Multiple Consumers and Producers
External Composition
Displaying the contents of windows
Targeting your displays
Display Geometry
Display rotation
Composition
Input
Input Events
Windows
Sessions
Session properties
Keyboard sessions
Multitouch (touch) sessions
Pointer sessions
Joystick, gamepad, and jog sessions
Event Handling
Asynchronous Notifications
Tutorial: Using
screen_notify()
Permissions and Privileges
Utilities and binaries
calib-touch
dpy-vsync
egl-configs
events
font-freetype
gles1-vsync
gles2-gears
screen-gles2-tools
screen
screencmd
screeninfo
screenshot
sharewin
sw-vsync
vcapture-demo
vg-tiger
win-vsync
Debugging
At initialization
At runtime
Screen
library reference
Function safety
Function types
General (screen.h)
Definitions in
screen.h
_screen_mode
Screen CBABC mode types
Screen alpha mode types
Screen color space types
Screen cursor shapes
Screen flushing types
Screen gesture types
Screen idle mode types
Screen mirror types
Screen mouse button types
Screen object types
Screen pixel format types
Screen power mode types
Screen property types
Screen scaling quality types
Screen scale types
Screen sensitivity masks
Screen sensitivity types
Screen status types
Screen touch types
Screen transparency types
Screen usage flag types
Blits (screen.h)
Screen blit types
screen_blit()
screen_fill()
screen_flush_blits()
Buffers (screen.h)
Screen acquire buffer flags
screen_acquire_buffer()
screen_release_buffer()
screen_buffer_t
screen_create_buffer()
screen_destroy_buffer()
screen_get_buffer_property_cv()
screen_get_buffer_property_iv()
screen_get_buffer_property_llv()
screen_get_buffer_property_pv()
screen_set_buffer_property_cv()
screen_set_buffer_property_iv()
screen_set_buffer_property_llv()
screen_set_buffer_property_pv()
Contexts (screen.h)
Screen notification types
screen_context_t
Screen context types
screen_create_context()
screen_destroy_context()
screen_flush_context()
screen_get_context_property_cv()
screen_get_context_property_iv()
screen_get_context_property_llv()
screen_get_context_property_pv()
screen_notify()
screen_set_context_property_cv()
screen_set_context_property_iv()
screen_set_context_property_llv()
screen_set_context_property_pv()
Debugging (screen.h)
Screen debug graph types
Screen packet types
screen_print_packet()
Devices (screen.h)
Screen device metric counts
Screen device types
Screen game button types
Screen input mode types
screen_device_t
screen_create_device_type()
screen_destroy_device()
screen_get_device_property_cv()
screen_get_device_property_iv()
screen_get_device_property_llv()
screen_get_device_property_pv()
screen_set_device_property_cv()
screen_set_device_property_iv()
screen_set_device_property_llv()
screen_set_device_property_pv()
Displays (screen.h)
Screen display metric counts
Screen display mode types
Screen display technology types
Screen display types
screen_display_mode_t
screen_display_t
screen_get_display_modes()
screen_get_display_property_cv()
screen_get_display_property_iv()
screen_get_display_property_llv()
screen_get_display_property_pv()
screen_read_display()
screen_set_display_property_cv()
screen_set_display_property_iv()
screen_set_display_property_llv()
screen_set_display_property_pv()
screen_wait_vsync()
Events (screen.h)
Screen event flags
Screen event types
Screen input control events
screen_create_event()
screen_destroy_event()
screen_event_t
screen_get_event()
screen_get_event_property_cv()
screen_get_event_property_iv()
screen_get_event_property_llv()
screen_get_event_property_pv()
screen_inject_event()
screen_send_event()
screen_set_event_property_cv()
screen_set_event_property_iv()
screen_set_event_property_llv()
screen_set_event_property_pv()
Groups (screen.h)
screen_create_group()
screen_destroy_group()
screen_get_group_property_cv()
screen_get_group_property_iv()
screen_get_group_property_llv()
screen_get_group_property_pv()
screen_group_t
screen_set_group_property_cv()
screen_set_group_property_iv()
screen_set_group_property_llv()
screen_set_group_property_pv()
Pixmaps (screen.h)
Screen pixmap metric counts
screen_attach_pixmap_buffer()
screen_create_pixmap()
screen_create_pixmap_buffer()
screen_destroy_pixmap()
screen_destroy_pixmap_buffer()
screen_get_pixmap_property_cv()
screen_get_pixmap_property_iv()
screen_get_pixmap_property_llv()
screen_get_pixmap_property_pv()
screen_join_pixmap_group()
screen_leave_pixmap_group()
screen_pixmap_t
screen_ref_pixmap()
screen_set_pixmap_property_cv()
screen_set_pixmap_property_iv()
screen_set_pixmap_property_llv()
screen_set_pixmap_property_pv()
screen_unref_pixmap()
Sessions (screen.h)
Screen session metric counts
Screen input mode types
Screen session types
screen_create_session_type()
screen_destroy_session()
screen_get_session_property_cv()
screen_get_session_property_iv()
screen_get_session_property_llv()
screen_get_session_property_pv()
screen_session_t
screen_set_session_property_cv()
screen_set_session_property_iv()
screen_set_session_property_llv()
screen_set_session_property_pv()
Streams (screen.h)
Screen stream metric counts
Screen stream mode types
screen_attach_stream_buffers()
screen_consume_stream_buffers()
screen_create_stream()
screen_create_stream_buffers()
screen_destroy_stream()
screen_destroy_stream_buffers()
screen_get_stream_property_cv()
screen_get_stream_property_iv()
screen_get_stream_property_llv()
screen_get_stream_property_pv()
screen_post_stream()
screen_ref_stream()
screen_stream_t
screen_set_stream_property_cv()
screen_set_stream_property_iv()
screen_set_stream_property_llv()
screen_set_stream_property_pv()
screen_share_stream_buffers()
screen_unref_stream()
Windows (screen.h)
Screen window metric counts
Screen permission masks
Screen window types
screen_attach_window_buffers()
screen_create_window()
screen_create_window_buffers()
screen_create_window_group()
screen_create_window_type()
screen_destroy_window()
screen_destroy_window_buffers()
screen_discard_window_regions()
screen_get_window_property_cv()
screen_get_window_property_iv()
screen_get_window_property_llv()
screen_get_window_property_pv()
screen_join_window_group()
screen_leave_window_group()
screen_manage_window()
screen_post_window()
screen_read_window()
screen_ref_window()
screen_set_window_property_cv()
screen_set_window_property_iv()
screen_set_window_property_llv()
screen_set_window_property_pv()
screen_share_display_buffers()
screen_share_stream_buffers()
screen_share_window_buffers()
screen_tab_focus()
screen_unref_window()
screen_wait_post()
screen_window_t
Configuring
Screen
Configure
khronos
section
Configure
egl display
subsection
Configure
wfd device
subsection
Configure
winmgr
section
Configure
globals
subsection
Configure
display
subsection
Configure
class
subsection
Configure
mtouch
subsection
Configuring
mtouch filter
subsection
Apply your
Screen
configuration
Glossary
Gestures Developer's Guide
Gestures Library Overview
Gesture Recognition
User defined gestures
Gesture Tutorials
Tutorial: Create a gesture-handling application
Example: Code snippets of a gesture-handling application
Tutorial: Create a custom gesture
Example: Code snippets of a defining a custom gesture
Gestures Library Reference
Gesture Buckets (bucket.h)
Definitions in
bucket.h
gestures_bucket_add()
gestures_bucket_clear()
gestures_bucket_count()
gestures_bucket_del()
gestures_bucket_get()
gestures_bucket_init()
gestures_bucket_t
Global Settings (defaults.h)
Definitions in
defaults.h
Double Tap (double_tap.h)
double_tap_gesture_alloc()
double_tap_gesture_default_params()
double_tap_params_t
double_tap_state_e
gesture_double_tap_t
Event Lists (event_list.h)
event_list_add()
event_list_alloc()
event_list_alloc_copy()
event_list_clear()
event_list_copy()
event_list_free()
event_list_get_first()
event_list_item
event_list_item_t
Long Press (long_press.h)
gesture_long_press_t
long_press_gesture_alloc()
long_press_gesture_default_params()
long_press_params_t
Pinch Gestures (pinch.h)
gesture_pinch_t
pinch_gesture_alloc()
pinch_gesture_default_params()
pinch_params_t
Press and Tap (press_and_tap.h)
gesture_pt_t
pt_gesture_alloc()
pt_gesture_default_params()
pt_params_t
Rotate Gesture (rotate.h)
gesture_rotate_t
rotate_gesture_alloc()
rotate_gesture_default_params()
rotate_params_t
Gesture Sets (set.h)
gestures_set_add()
gestures_set_alloc()
gestures_set_fail_f
gestures_set_free()
gestures_set_process_event()
gestures_set_process_event_list()
gestures_set_register_fail_cb()
Swipe Gesture (swipe.h)
gesture_swipe_t
swipe_gesture_default_params()
swipe_params_t
Tap Gesture (tap.h)
gesture_tap_t
tap_gesture_alloc()
tap_gesture_default_params()
tap_params_t
Gesture Timers (timer.h)
gesture_timer_callback_t
gesture_timer_clear()
gesture_timer_create()
gesture_timer_destroy()
gesture_timer_query()
gesture_timer_set_event()
gesture_timer_set_ms()
gesture_timer_set_now()
Triple Tap (triple_tap.h)
gesture_triple_tap_t
triple_tap_gesture_alloc()
triple_tap_gesture_default_params()
triple_tap_params_t
triple_tap_state_e
Two Finger Pan (two_finger_pan.h)
gesture_tfpan_t
tfpan_gesture_alloc()
tfpan_gesture_default_params()
tfpan_params_t
Two Finger Tap (two_finger_tap.h)
gesture_tft_t
tft_gesture_alloc()
tft_gesture_default_params()
tft_params_t
Data Types and Helper Functions (types.h)
Definitions in
types.h
diff_time_ms()
gesture_add_mustfail()
gesture_base
gesture_base_init()
gesture_base_t
gesture_callback_f
gesture_coords_t
gesture_e
gesture_funcs_t
gesture_state_e
map_contact_id()
max_displacement_abs()
save_coords()
QNX Neutrino System Analysis Toolkit
System Analysis Toolkit User's Guide
About This Guide
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Introduction
What is the System Analysis Toolkit (SAT)?
What can the SAT do for you?
Components of the SAT
Instrumented kernel
Kernel buffer management
Data-capture program (tracelogger)
Data interpretation (e.g. traceprinter)
Integrated Development Environment
Events and the Kernel
What generates events
Generating events: a typical scenario
Multithreaded example
Thread context-switch time
Restarting threads
Simple and combine events
Fast and wide modes
Classes and events
Communication class: _NTO_TRACE_COMM
Control class: _NTO_TRACE_CONTROL
Interrupt classes: _NTO_TRACE_INTENTER, _NTO_TRACE_INTEXIT, _NTO_TRACE_INT_HANDLER_ENTER, and _NTO_TRACE_INT_HANDLER_EXIT
Kernel-call classes: _NTO_TRACE_KERCALLENTER, _NTO_TRACE_KERCALLEXIT, and _NTO_TRACE_KERCALLINT
Process class: _NTO_TRACE_PROCESS
System class: _NTO_TRACE_SYSTEM
Thread class: _NTO_TRACE_THREAD
User class: _NTO_TRACE_USER
Virtual thread class: _NTO_TRACE_VTHREAD
Kernel Buffer Management
Instrumented kernel and kernel buffer management
Buffer specifications
Ring of buffers
Ring buffer size
Full buffers and the high-water mark
Buffer overruns
Capturing Trace Data
Overview
Using tracelogger to control tracing
Managing trace buffers
tracelogger's modes of operation
Choosing between wide and fast modes
Filtering events
Specifying where to send the output
Using TraceEvent to control tracing
Managing trace buffers
Modes of operation
Filtering events
Choosing between wide and fast modes
Inserting trace events
Filtering
Overview
The static rules filter
The dynamic rules filter
Setting up a dynamic rules filter
Event handler
Removing event handlers
The post-processing facility
Interpreting Trace Data
Overview
Using traceprinter and interpreting the output
Building your own parser
The traceparser library
Simple and combine events, event buffer slots, and the traceevent_t structure
Event interlacing
Timestamps
Tutorials
Overview
The instrex.h header file
Gathering all events from all classes
Gathering all events from one class
Gathering five events from four classes
Gathering kernel calls
Event handling - simple
Inserting a user simple event
Sample Programs
Data-capture program
Parser
Current Trace Events and Data
Interpreting the table
Table of events
Keyword Index
!
A
B
C
D
E
F
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
QNX Neutrino WebBrowser Engine
Web Browser Engine Developer's Guide
About This Guide
What's in this guide?
Typographical conventions
Note to Windows users
Technical support
Overview of the Web Browser Engine
What is the Web Browser Engine?
Organization of the Web Browser Engine
Web Browser Engine supported features
Building Your Own Web Browser Engine-based Browser
Web Browser Engine Reference Application
Running the Web Browser Engine Sample Application
Run the sample application
Getting a more responsive mouse pointer
WebView
advanceFocus
Arguments:
canShowMIMEType
Arguments:
canShowMIMETypeAsHTML
Arguments:
close
createInstance
goBack
goForward
initWithFrame
Arguments:
mainFrame
onExpose
Arguments:
onKeyDown
Arguments:
onKeyUp
Arguments:
onMouseMotion
Arguments:
onMouseButtonDown
Arguments:
onMouseButtonUp
Arguments:
resetPageZoom
scrollBy
Arguments:
scrollableSubFrameAtPoint
Arguments:
scrollRenderObjectBy
Arguments:
scrollableRenderObjectAtPoint
Arguments:
setPageSizeMultiplier
Arguments:
setDownloadDelegate
Arguments:
setMIMETypesShownAsHTML
Arguments:
setMIMETypesShownAsHTML
Arguments:
setWebNotificationDelegate
Arguments:
setViewWindow
Arguments:
zoomPageOut
zoomPageIn
WebNotificationDelegate
finishedLoadNotification
Arguments:
hoverOverLink
Arguments:
loadError
Arguments:
progressNotification
Arguments:
startLoadNotification
Arguments:
setTitle
Arguments:
showToolTip
Arguments:
showStatus
Arguments:
unknownContentType
Arguments:
createWindow
Arguments:
getInstancePtr
GfWindow
restoreViewState
Arguments:
saveViewState
Arguments:
setInputMethodState
Arguments:
setInstancePtr
Arguments:
runJavaScriptAlert
Arguments:
runJavaScriptPrompt
Arguments:
runJavaScriptConfirm
Arguments:
textFieldBegin
textFieldEnd
updateScreen
Arguments:
WebFrame
stopLoading
reload
loadURL
Arguments:
What's New
What's new for the Web Browser Engine for QNX Neutrino 6.5.0
QNX Photon microGUI Multilingual Input
Photon microGUI Chinese Input Method (Chinese)
Using the Photon Chinese Supplement
Chinese fonts
Chinese input method (cpim)
Photon microGUI Chinese Input Method (English)
Using the Photon Chinese Supplement
Chinese fonts
Chinese input method (cpim)
Photon microGUI Korean Input Method (Korean)
本書について
Photon microGUI Korean Input Method (English)
Korean input method (kpim)
Activating/Deactivating kpim
Editing
Other features
Photon microGUI Japanese Input Method (Japanese)
本書について
日本語入力ツール・バーと入力の手順
日本語入力ツール・バー
モード・ステータス・ボタン
ヘルプ・ボタン
変換位置設定ボタン
クローズ・ボタン
日本語入力の手順
読みを入力する
入力文字を変換する
文字を確定する
基本操作
入力環境
入力環境の設定
キー・コードで入力環境を設定する
入力方式の設定
入力モードの設定
入力文字サイズの設定
モード・ステータス・ボタンで入力環境を設定する
文字の編集
カーソルを移動する
文字を削除する
カーソルの前の文字を削除する
カーソル位置の文字を削除する
入力文字を取り消す
スペース文字の入力
変換
漢字に変換する
複数の変換候補を表示する
入力文字を確定する
変換候補を確定する
同音語リストの変換候補を確定する
入力文字を強制的に確定する
ひらがなに変換する
カタカナに変換する
英数字に変換する
半角に変換する
注目文節を変更する
注目文節とは
注目文節を移動する
注目文節の長さを変更する
文字コードから変換する
単語登録
例:
動作モード・オプション
動作モード・オプション・パネル
入力環境オプション
変換オプション
変換方式
コード体系
複合語優先変換
句読点変換
カーソル・オプション
その他のオプション
学習機能
表計算ソフト入力
付録A: Photonエディタについて
日本語のファイルを作成する
付録B:VJEキー・ストローク一覧
付録C: ローマ字入力の規則
付録D:ローマ字/かな対応表
Photon microGUI Japanese Input Method (English)
Japanese Input Method (VPIM)
VJE Toolbar and Japanese Input
Basic VJE Operations
Conversion
Mode Options
Appendix A: About the Photon Editor
Appendix B: VJE Keystrokes Summary
Appendix C: Notes on Roman Input
Appendix D: Kana Chart for Roman Input
QNX Photon microGUI Windowing System
Photon Programmer's Guide
About This Guide
Typographical conventions
Note to Windows users
Technical support
Introduction
Overview of the Photon architecture
Photon Application Builder (PhAB)
Get immediate results
Concentrate on functionality
Create prototypes without writing code
Cut code size
Create consistent applications
Create all kinds of applications
Widget concepts
Widget life cycle
Widget geometry
Programming paradigm
Text-mode application
Non-PhAB application
PhAB application
Photon libraries
API categories and libraries
Versions and platforms
Building applications with PhAB---an overview
Step 1: Create modules
Step 2: Add widgets
Step 3: Attach callbacks
Step 4: Generate code
Step 5: Run your application
Step 6: Repeat any previous step
Writing applications without PhAB
Tutorials
Before you start...
Creating a Photon project and starting PhAB
From the IDE:
From standalone PhAB:
PhAB's Interface
Tutorial 1 --- Hello, world
Creating the application
Generating code
From the IDE
From standalone PhAB
Want more info?
Tutorial 2 --- editing resources
Adding a button widget
Changing the bevel width
Changing the font
Changing the text alignment
Setting flags
Changing the fill color
Editing a pixmap
Editing multiline text
Editing a list of text items
Creating a template
Want more info?
Tutorial 3 --- creating menus and menubars
About link callbacks
About instance names
Creating a menubar
Creating the File menu module
Adding menu items
Creating the Help menu module
Attaching link callbacks
Attaching a module-type link callback
Attaching a code-type link callback
Setting up the code
Want more info?
Tutorial 4 --- creating dialogs
About dialogs
More on instance names
Attaching a dialog module
Adding widgets to the dialog
Adding a callback to the Done button
Modifying a generated code function
Compiling and Running
Want more info?
Tutorial 5 --- creating windows
Creating a window
Attaching callbacks
Adding widgets
Generating and modifying the code
Generating the code
Modifying the setup function
Modifying the color-change function
Modifying the window-close function
Compiling and running
Want more info?
PhAB's Environment
Menus
File menu
Edit menu
Project menu
Build menu
Widget menu
View menu
Window menu
Help menu
Toolbars
Control panels
Widget palette
Modes (create vs select)
Determining the mode
Switching to create mode
Switching to select mode
Resources panel
Callbacks panel
Module Tree panel
Module Links panel
Browse Files panel
Search dialog
Customizing your PhAB environment
General preferences
Color preferences
Dragging preferences
Grid preferences
Working with Applications
Creating an application
From the IDE:
Standalone PhAB:
Choosing a main window style
Opening an application
From the IDE
Standalone PhAB
Saving an application
From the IDE
From standalone PhAB
Naming or renaming an application
Saving an existing application
Overwriting an existing application
Closing an application
Specifying project properties
Startup Windows tab
Define a startup window
Adding a startup window
Modifying a startup window
Deleting a startup window
Specifying a global header file
Initialization function
Generate Options tab
Other Generate options
Run options
Build and Debug options
Importing files
Importing PhAB modules from other applications
Importing XBM images
Importing graphics images
Exporting files
Working with Modules
Module types
Anatomy of a module
Selecting a module
How modules are saved
Changing module resources
Creating a new module
Deleting a module
Iconifying modules
Displaying modules at run time
Positioning a module
Finding lost modules and icons
Window modules
Resizing a window module
Dialog modules
Resizing a dialog module
Predefined dialogs
Menu modules
Opening the menu editor
Specifying instance names
Creating hotkeys and shortcuts
Resizing a menu module
Creating command items
Creating submenu items
Creating separator items
Creating toggle items
Creating function items
Moving menu items
Using a menu module
Picture modules
Displaying a picture
Using pictures as widget databases
Resizing a picture module
Creating Widgets in PhAB
Types of widgets
Instance names
Default instance name
When to assign a unique name
Instance names and translations
Duplicate names
Creating a widget
Creating several widgets
Canceling create mode
Selecting widgets
A single widget
Point-and-click method
Control-panel methods
Multiple widgets
Using a bounding box
Using Shift and click
Using the control panels
Widgets within a group
Using the Module Tree panel
Using the Next and Previous buttons
Hidden widgets
Aligning widgets
To another widget
To a parent container
Distributing widgets
Common User Access (CUA) and handling focus
Changing focus with the keyboard
Controlling focus
Focus callbacks
Focus-handling functions
Ordering widgets
Dragging widgets
Dragging preferences
Setting a widget's x and y coordinates
Transferring widgets between containers
Resizing widgets and modules
Clipboard
Cutting and copying
Pasting
Duplicating widgets and containers
Deleting widgets or modules
Matching widget resources and callbacks
Importing graphic files
Changing a widget's class
Templates
Creating templates
Adding a widget class
Editing templates
Deleting templates
Editing Resources and Callbacks in PhAB
Editing widget resources
Pixmap editor
Setting the pixmap's size
How to draw and erase
Choosing colors
Choosing a background color
Drawing freehand
Drawing lines, rectangles, and circles
Filling an enclosed area
Selecting an area
Nudging an area
Using the Pixmap toolbar
Other pixmap controls
Color editor
Full color editor
Quick color editor
Flag/choice editor
Flag resources
Option list resources
Font editor
List editor
Editing existing list items
Deleting list items
Number editor
Text editors
Code editor
Layout editors
Fill layout info editor
Row layout info editor
Grid layout info editor:
Row layout data editor
Grid layout data editor
Callbacks
Editing callbacks
Module callbacks
Prerealize setup function
Postrealize setup function
Setup functions are stored in stub files
Code callbacks
Callback functions are stored in stub files
Hotkey callbacks
Hotkeys --- the basics
Specifying the hotkey label
Specifying the callback
Where you want a module to appear
What widget you need in the callback function
Where the user is going to type the hotkey
Processing hotkeys
Disabling hotkeys
Event handlers --- raw and filter callbacks
Geometry Management
Container widgets
Geometry negotiation
Resize policy
Setting the resize policy in PhAB
Setting the resize policy in your application's code
Absolute positioning
Aligning widgets using groups
Joining widgets into a group
Accessing widgets in a group
Aligning widgets horizontally or vertically
Aligning widgets in rows and columns
Using the Group flags
Splitting apart a group
Constraint management using anchors
Anchor resources
Setting anchor flags in PhAB
Setting anchor flags in your application's code
Using layouts
PtFillLayout
PtRowLayout
PtGridLayout
Using hints
Enforcing position or size constraints without anchors or layouts
Generating, Compiling, and Running Code
Using the Build menu
Building your application
Generating application code
What PhAB generates
Version control
Tips on using CVS
Function prototypes
Potential problems with generating proto.h
How application files are organized
Multiplatform applications
Single-platform applications
Converting to Eclipse
Editing source
Choosing an editor or browser
Creating a source module
Changing the file display
Compiling and linking
Specifying additional libraries
Running make
Modifying the make command
Customizing the build process
Running the application
Debugging
Managing targets
The Build menu
Including non-PhAB files in your application
Eclipse Project applications
Multiplatform applications
Single-platform applications
Adding libraries
Making a DLL out of a PhAB application
Compiling and linking
Initializing your DLL
Unloading your DLL
Working with Code
Variables and manifests
Widget variables and manifests
Using the global variable and widget manifest
Handling multiple instances of a window
Internal link manifests
Global header file
Function names and filenames
Initialization function
Processing command-line options
Module setup functions
Code-callback functions
Geometry data types
Timers
Using PtTimer
RtTimer* functions
Initializing menus
Enabling, disabling, or toggling menu items
Changing menu-item text
Generating menu items
Creating submenus
Delaying and forcing updates to the display
Globally
For a specific container
Forcing updates
Manipulating Resources in Application Code
Argument lists
Setting resources
Argument lists for setting resources
Scalar and color resources
String resources
Alloc resources
Image resources
Array resources
Flag resources
Function resources
Pointer resources
Link resources
Struct resources
Boolean resources
Calling PtSetResources
Setting one resource
Getting resources
Not using pointers
Scalar and flag resources (nonpointer method)
String resources (nonpointer method)
Boolean resources (nonpointer method)
Using pointers
Scalar and flag resources (pointer method)
String resources (pointer method)
Alloc resources (pointer method)
Image resources (pointer method)
Array resources (pointer method)
Pointer resources (pointer method)
Link resources (pointer method)
Struct resources (pointer method)
Boolean resources (pointer method)
Calling PtGetResources
Getting one resource
Application-level resources
Setting resources
Removing callbacks
Getting callbacks
Managing Widgets in Application Code
Creating widgets
Ordering widgets
Working in the widget family
Callbacks
Adding callbacks
Callback invocation
Removing callbacks
Examining callbacks
Event handlers
Adding event handlers
Removing event handlers
Event handler invocation
Widget styles
Photon hook
Multi-hook
Setting widget styles using the Photon Hook
Control Surfaces
What's a control surface?
Limitations
Binding actions to control surfaces
Referring to control surfaces
Control-surface API
Creating and destroying control surfaces
Finding IDs for control surfaces
Calculating geometry for control surfaces
Drawing control surfaces
Activating control surfaces
Enabling and disabling control surfaces
Finding control surfaces
Hiding and showing control surfaces
Ordering control surfaces
Storing user data with control surfaces
Example
Accessing PhAB Modules from Code
Creating internal links
Using internal links in your code
Manifests
Internal-link functions
Example --- displaying a menu
Using widget databases
Creating a database
Preattaching callbacks
Assigning unique instance names
Creating a dynamic database
Widget-database functions
International Language Support
Application design considerations
Size of text-based widgets
Justification
Font height
Hard-coded strings
Use of @ in instance names
Bilingual applications
Common strings
Generating a language database
Message databases
Language editor
Starting the Language Editor within PhAB
Starting the Language Editor as a stand-alone application
Creating a new translation file
Editing an existing translation file
Translating the text
Hotkeys
Help resources
Translation functions
Running your application
Distributing your application
Context-Sensitive Help
Referring to help topics
Universal Resource Locator (URL)
Topic path
Connecting help to widgets
Displaying help in the Helpviewer
Displaying help in a balloon
Help without the ? icon
Accessing help from your code
Interprocess Communication
Connections
Naming conventions
Typical scenario
Local connections
Example
Sending QNX messages
Receiving QNX messages
Adding an input handler
name_attach and PtAppAddInput
Removing an input handler
Message buffer size
Example --- logging error messages
Photon pulses
Photon application that receives a pulse
Creating a pulse
Arming a pulse
Sending the pulse message to the deliverer
Registering an input handler
Delivering a pulse to yourself
Destroying a pulse
Example --- message queues
Photon application that delivers a pulse
Processing signals
Adding a signal-processing function
Removing a signal-processing function
Signals and threads
Other I/O mechanisms
Parallel Operations
Overview
Background processing
Work procedures
Threads
Locking the Photon library
Multiple event-processing threads
Realtime threads
Non-Photon and Photon threads
Modal operations and threads
Exiting a multithreaded program
Threads and work procedures
Raw Drawing and Animation
PtRaw widget
Raw drawing function
Determining the raw widget canvas
Translating coordinates
Clipping
Using damage tiles
Using a model for more complex drawing
Examples of simple PtRaw drawing functions
Color
Drawing attributes
General attributes
Text attributes
Fill attributes
Stroke (line) attributes
Arcs, ellipses, polygons, and rectangles
Rectangles
Rounded rectangles
Beveled boxes, rectangles, and arrows
Polygons
Overlapping polygons
Arcs, circles, chords, and pies
Spans --- complex shapes
Lines, pixels, and pixel arrays
Text
Bitmaps
Images
Palette-based images
Direct-color images
Gradient-color images
Creating images
Caching images
Transparency in images
Using chroma
Using a transparency mask
Displaying images
Manipulating images
Releasing images
Animation
Creating a series of snapshots
Using a widget database
Using a file
Cycling through the snapshots
Flickerless animation
PtOSContainer
Memory-context functions
Direct mode
Example
Video memory offscreen
Offscreen locks
Alpha blending support
Chroma key support
Extended raster operations
Video modes
Gradients
Driver-level gradients
Application-level gradients
Video overlay
Example
Layers
Surfaces
Viewports
Layer API
Using layers
Example
Understanding Encodings, Fonts, Languages and Code Tables
Terminology Definitions
Language
Code Table
Encoding
Font
Characters
Unicode encoding in Photon
UTF-8, UTF-16 (Pg_TEXT_WIDECHAR)
UTF-8
UTF-8, UTF-16 (PF_WIDECHAR), UTF-32 (PF_WIDECHAR32)
UTF-16
String representation
Translation
Services
Advanced Graphics
General Notes
Language Notes
Fonts
Symbol metrics
Font function libraries
Font names
Querying available fonts
FontDetails structure
Generating font names
Example
Writing text in a rectangular area
Repairing damage to proportional text
Printing
Overview
Print contexts
Creating a print context
Modifying a print context
Starting a print job
Printing the desired widgets
Printing a new page
Printing widgets that scroll
PtList
PtMultiText
PtScrollArea
Suspending and resuming a print job
Ending a print job
Freeing the print context
Example
Drag and Drop
Transport mechanism
Using drag and drop
Starting drag and drop
Example
Receiving drag-and-drop events
Source widget
Destination widget
Canceling drag and drop
Registering new transport types
A simple data structure
A more complicated structure
Clear-references list
Endian list
Fixup list
Registry entry
Transport functions
Both applications
Source application
Destination application
Regions
Photon coordinate space
Region coordinates
Region origins
Initial dimensions and location
Origin at (0,0) and initial rectangle at (0,0)
Origin at (0,0) and initial rectangle not at (0,0)
Origin not at (0,0) and initial rectangle not at (0,0)
About child regions
Regions and event clipping
Placement and hierarchy
Region hierarchy
Parent region
Brother regions
Default placement
Ph_FORCE_FRONT flag
Specific placement
Using regions
Opening a region
Placing regions
Changing region placement
Changing the parent
Specifying brothers
System information
Events
Pointer events
Pressing a button
Releasing a button
Multiple clicks
Modifier keys
Emitting events
Targeting specific regions
Inclusive event
Direct event
Targeting specific widgets
Emitting key events
Event coordinates
Event handlers --- raw and filter callbacks
Collecting events
Event compression
Dragging
Initiating dragging
Outline dragging
Opaque dragging
Handling drag events
Outline dragging
Opaque dragging
Window Management
Window-management flags
Window-rendering flags
Window-managed flags
Window-notify flags
Notification callback
Example: verifying window closure
Getting and setting the window state
Managing multiple windows
Window-manager functions
Running a standalone application
Modal dialogs
Programming Photon without PhAB
Basic steps
Compiling and linking a non-PhAB application
Sample application
What's going on
PtInit
PtCreateWidget --- first call
PtSetArg
PtCreateWidget --- second call
PtRealizeWidget
PtMainLoop
Connecting application code to widgets
Callbacks
Event handling
Complete sample application
Photon Architecture
Event space
Regions and events
Events
Initial rectangle set
Collected rectangle set
Regions
Sensitivity
Opacity
Attribute summary
Event logging
Event modification
Parent/child relationships
Photon coordinate space
Root region
Event types
How region owners are notified of events
Polling
Synchronous notification
Asynchronous notification
Device region
Pointer focus
Keyboard focus
Drag events
Drag-and-drop events
Photon drivers
Input drivers
Mouse driver
Keyboard driver
Output drivers
Graphics driver
Multiple graphic drivers
Drivers using separate regions
Drivers using overlapping regions
Encapsulation drivers
Photon window manager
Window-frame regions
Focus region
Workspace region
Backdrop region
Widgets at a Glance
Unicode Multilingual Support
Wide and multibyte characters
Unicode
UTF-8 encoding
Conversion functions
Other encodings
Keyboard drivers
Example: text widgets
Dead keys and compose sequences
Photon compose sequences
Photon in Embedded Systems
Assumptions
Introduction
QNX Graphics framework server
Photon Server
Graphics subsystem
Font support
Input support
User applications
Steps to boot into Photon
The basics
Step 1. Start the QNX graphics framework server
Step 2. Export environment variables
Step 3. Start the Photon server
Files needed
Step 4. Configure fonts
Step 5. Start the graphics driver
Step 5. Start the input driver
Files needed
Step 6. Start the window manager
Files needed
Step 7. Start your application
Files needed
Caveats
Flash filesystems
Graphics
Miscellaneous
Example
Required binaries
Required libraries
Required fonts
Putting it all together
Troubleshooting
Example: Using the IDE's System Builder
Advanced topics
Configuring fonts
Internal or external?
Required fonts
Required fonts binaries
Configure the font server
Using PhAB under Microsoft Windows
Photon in a single window
Exiting PhAB
Advanced options
PHINDOWSOPTS
Using the clipboard
Transferring PhAB projects
Debugger launch line
Custom widget development and PhAB
Using custom TrueType fonts and PhAB
Photon Hook DLLs
Running multiple copies of PhAB
PhAB Keyboard Shortcuts
Project management shortcuts
Editing shortcuts
Adding items shortcuts
Building shortcuts
Widget management shortcuts
View and window shortcuts
Other shortcuts
What's New
What's new in Photon for QNX Neutrino 6.5.0
New content
What's new in Photon for QNX Neutrino 6.4.1
New content
What's new in Photon for QNX Neutrino 6.4
New content
What's new in Photon for QNX Neutrino 6.3
New content
What's new in Photon for QNX Neutrino 6.2.1
New content
Errata
What's new in Photon for QNX Neutrino 6.2.0
New content
What's new in Photon for QNX Neutrino 6.0
Introduction
PhAB's Environment
Working with Applications
Working with Modules
Creating Widgets in PhAB
Geometry Management
Working with Code
Manipulating Resources in Application Code
Managing Widgets in Application Code
Context-Sensitive Help
Interprocess Communication
Parallel Operations
Raw Drawing and Animation
Fonts
Printing
Drag and Drop
Events
Glossary
Keyword Index
!
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
Photon Library Reference
About This Reference
Typographical conventions
Note to Windows users
Technical support
Summary of Entries
Alpha blending
Background processing
Bitmaps and Images
Blitting
Characters, translating
Chroma key operations
Clipboard operations
Clipping
Colors, converting and parsing
Configuration files
Connections to other applications
Coordinates, translating
Cursors/pointers
Data chains
Direct mode
Drag and drop
Dragging
Draw contexts
Drawing attributes
General attributes
Fill attributes
Line (stroke) attributes
Text attributes
Events
Font handling
Geometry
Gradients
Driver-level
Application-level
Graphical contexts
Input/Output events
Interprocess Communication (IPC)
Layers
Key events, translating
Memory contexts
Messages and questions
Modal dialogs
Modules
Online help
Photon Application Builder functions
Photon services, connecting and disconnecting
Power-saving modes
Primitive drawing routines
Printing
Processes
Realtime timers
Regions
Shared memory
Signals
Strings, translating
Synchronization
System information
Text
Threads
Tiles
UTF-8 character strings
Video modes
Video offscreen memory
Video overlay
Wide characters
Widgets
Callbacks and hotkey handlers
Class hierarchy
Control surfaces
Creating and destroying widgets
Custom widgets
Damaging widgets
Databases
Family hierarchy
Finding widgets in an area
Focus
Geometry
Library initialization
Menus
PtComboBox
PtFileSel
PtGenList
PtGenTree
PtList
PtMTrend
PtMultiText
PtPanelGroup
PtProgress
PtTerminal
PtText
PtTree
PtTrend
PtTty
PtWindow
Realizing and unrealizing widgets
Resources
Styles
Updates, forcing and holding off
Window Manager
Ab---PhAB-Generated Code
AbGetABW
Al---PhAB Translation
AlClearTranslation
AlCloseDBase
AlGetEntry
AlGetSize
AlOpenDBase
AlReadTranslation
AlSaveTranslation
AlSetEntry
Ap---PhAB
ApAddClass
ApAddContext
ApAppendTranslation
ApCloseDBase
ApCloseMessageDB
ApCopyDBWidget
ApCreateDBWidget
ApCreateDBWidgetFamily
ApCreateModule
Usage with window, dialog, menu, and other modules
Usage with picture modules
ApCreateWidget
ApCreateWidgetFamily
ApDeleteDBWidget
ApError
ApGetDBWidgetInfo
ApGetImageRes
ApGetInstance
ApGetItemText
ApGetMessage
ApGetTextRes
ApGetWidgetPtr
ApInfo_t
ApInitialize
ApInstanceName
ApLoadMessageDB
ApLinkWindow
ApModalWait
ApModifyItemAccel
ApModifyItemState
ApModifyItemText
ApModuleFunction
ApModuleLocation
ApModuleParent
ApName
ApOpenDBase
ApOpenDBaseFile
ApRemoveClass
ApRemoveContext
ApResClose
ApSaveDBaseFile
ApSetContext
ApSetTranslation
ApWidget
mbstr---Multibyte-Character
Pd---Draw Context
PdCreateDirectContext
PdCreateOffscreenContext
PdCreateOffscreenContextGF
PdCreateOffscreenLock
PdDestroyOffscreenLock
PdDirectStart
PdDirectStop
PdDupOffscreenContext
PdGetDevices
PdGetOffscreenContextPtr
PdGetOffscreenSurface
PdIsOffscreenLocked
PdLockOffscreen
PdOffscreenContext_t
PdReleaseDirectContext
PdSetOffscreenTranslation
PdSetTargetDevice
PdUnlockOffscreen
Pf---Font Server
PfAllocDetailsCx
PfAllocRenderCx
PfAssignDllCx
PfAttach, PfAttachCx
PfAttachDllCx
PfAttachLocalDll
PfAttachServerDll
PfAttachSleuthMonitorDll
PfConvertFontID, PfConvertFontIDCx
PfConvertPixelsToPointSizeCx
PfDecomposeStemToID, PfDecomposeStemToIDCx
PfDefaultContext
PfDetach, PfDetachCx
PfDetachLocalDll
PfDynamicFontIDCx
PfDynamicLoad, PfDynamicLoadCx
PfDynamicUnload, PfDynamicUnloadCx
PfExtent
PfExtentCx
PfExtent16dot16
PfExtent16dot16Cx
PfExtentComponents, PfExtentComponentsCx
PfExtentFractTextCharPositions
PfExtentText
PfExtentTextCharPositions, PfExtentTextCharPositionsCx
PfExtentTextToRect
PfExtentWideText
PfFindFont, PfFindFontCx
PfFontBaseStem, PfFontBaseStemCx
PfFontDescription, PfFontDescriptionCx
PfFontFlags, PfFontFlagsCx
PfFontSize, PfFontSizeCx
PfFontTypeCx
PfFractionalExtentText
PfFreeFont, PfFreeFontCx
PfGenerateFontName, PfGenerateFontNameCx
PfGetGlyphIndexCx
PfGetOutline, PfGetOutlineCx
PfGlyph, PfGlyphCx
PfLoadFont, PfLoadFontCx
PfLoadMetrics, PfLoadMetricsCx
pf_point_t
pf_point_16dot16_t
PfQueryFontInfo, PfQueryFontInfoCx
PfQueryFonts, PfQueryFontsCx
FontDetails structure
pf_rect_t
pf_rect_16dot16_t
PfRender, PfRenderCx
PfRestartServerDll
PfSetOptionsDll
PfSetRenderingDPICx
PfTextWidthBytes
PfTextWidthChars
PfUnloadMetrics
PfWaitOnServerDll
PfWideTextWidthBytes
PfWideTextWidthChars
Pg---Graphics
PgAlphaOff, PgAlphaOffCx
PgAlphaOn, PgAlphaOnCx
PgAlphaValue
PgARGB
PgBackgroundShadings
PgBevelBox, PgBevelBoxCx
PgBlit, PgBlitCx
PgBlueValue
PgCalcColorContrast
PgChromaOff, PgChromaOffCx
PgChromaOn, PgChromaOnCx
PgClearDrawBuffer, PgClearDrawBufferCx
PgClearTranslation, PgClearTranslationCx
PgCMY
PgColor_t
Standard colors
PgColorHSV_t
PgColorMatch
PgConfigScalerChannel
PgContextBlit, PgContextBlitCx
PgContextBlitArea, PgContextBlitAreaCx
PgContrastBevelBox, PgContrastBevelBoxCx
PgCreateDriverRegion
PgCreateGC
PgCreateLayerSurface
PgCreateVideoChannel
PgDefaultAlpha
PgDefaultChroma
PgDefaultFill
PgDefaultGC
PgDefaultMode
PgDefaultStroke
PgDefaultText
PgDestroyGC
PgDestroyVideoChannel
PgDrawArc, PgDrawArcCx
PgDrawArrow, PgDrawArrowCx
PgDrawBevelBox, PgDrawIBevelBox, PgDrawBevelBoxCx, PgDrawIBevelBoxCx
PgDrawBeveled, PgDrawBeveledCx
PgDrawBezier, PgDrawBezierv, PgDrawBezierCx, PgDrawBezierCxv
PgDrawBitmap, PgDrawBitmapv, PgDrawBitmapCx, PgDrawBitmapCxv
PgDrawEllipse, PgDrawEllipseCx
PgDrawGradient, PgDrawGradientCx
PgDrawGradientBevelBox, PgDrawGradientBevelBoxCx
PgDrawGrid, PgDrawGridCx
PgDrawImage, PgDrawImagev, PgDrawImageCx, PgDrawImageCxv
PgDrawLine, PgDrawILine, PgDrawLineCx, PgDrawILineCx
PgDrawMultiTextArea, PgDrawMultiTextAreaCx
PgDrawPhImage, PgDrawPhImagev, PgDrawPhImageCx, PgDrawPhImageCxv
PgDrawPhImageRectv, PgDrawPhImageRectCxv
PgDrawPixel, PgDrawIPixel, PgDrawPixelCx, PgDrawIPixelCx
PgDrawPixelArray, PgDrawPixelArrayv, PgDrawPixelArrayCx, PgDrawPixelArrayCxv
PgDrawPolygon, PgDrawPolygonv, PgDrawPolygonCx, PgDrawPolygonCxv
PgDrawRect, PgDrawIRect, PgDrawRectCx, PgDrawIRectCx
PgDrawRepBitmap, PgDrawRepBitmapv, PgDrawRepBitmapCx, PgDrawRepBitmapCxv
PgDrawRepImage, PgDrawRepImagev, PgDrawRepImageCx, PgDrawRepImageCxv
PgDrawRepPhImage*
PgDrawRoundRect, PgDrawRoundRectCx
PgDrawSpan, PgDrawSpanv, PgDrawSpanCx, PgDrawSpanCxv
PgDrawString, PgDrawStringv, PgDrawStringCx, PgDrawStringCxv
PgDrawText*, PgDrawTextChars*
PgDrawTextArea, PgDrawTextAreaCx
PgDrawTImage, PgDrawTImagev, PgDrawTImageCx, PgDrawTImageCxv
PgDrawTrend, PgDrawTrendv, PgDrawTrendCx, PgDrawTrendCxv
PgExtentMultiText
PgExtentText
PgFlush, PgFFlush, PgFlushCx, PgFFlushCx
PgGetColorModel, PgGetColorModelCx
PgGetGC, PgGetGCCx
PgGetGraphicsHWCaps
PgHWCaps_t
PgGetLayerCaps
PgGetOverlayChromaColor
PgGetPalette
PgGetRegion, PgGetRegionCx
PgGetScalerCapabilities
PgGetSurfaceGFSid
PgGetVideoMode
PgGetVideoModeInfo
PgGetVideoModeList
PgGray
PgGrayValue
PgGreenValue
PgHSV
PgHSV2RGB
PgLayerCaps_t
PgLockLayer
PgMap_t
PgMultiBlit, PgMultiBlitCx
PgNextVideoFrame
PgPHookRegister
PgReadScreen
PgReadScreenSize
PgRedValue
PgRGB
PgRGB2HSV
PgScalerCaps_t
PgScalerProps_t
PgSetAlpha, PgSetAlphaCx
Operation flags
Multiplier flags
Source multiplier flags
Destination multiplier flags
Alpha test flags:
PgSetAlphaBlend, PgSetAlphaBlendCx
PgSetChroma, PgSetChromaCx
PgSetClipping, PgSetClippingCx
PgSetColorModel, PgSetColorModelCx
PgSetControlFlagGCCx
PgSetDPMSMode
PgSetDrawBufferSize, PgSetDrawBufferSizeCx
PgSetDrawMode, PgSetDrawModeCx
Photon 1.14 and earlier
Photon for QNX Neutrino
PgSetFillColor, PgSetFillColorCx
PgSetFillDither, PgSetFillDitherCx
PgSetFillTransPat, PgSetFillTransPatCx
PgSetFillXORColor, PgSetFillXORColorCx
PgSetFont, PgSetFontCx
PgSetGC, PgSetGCCx
PgSetLayerArg
Layer arguments
PgSetLayerSurface
PgSetMultiClip, PgSetMultiClipCx
PgSetPalette, PgSetPaletteCx
PgSetPlaneMask, PgSetPlaneMaskCx
PgSetRegion, PgSetRegionCx
PgSetStrokeCap, PgSetStrokeCapCx
PgSetStrokeColor, PgSetStrokeColorCx
PgSetStrokeDash, PgSetStrokeDashCx
PgSetStrokeDither, PgSetStrokeDitherCx
PgSetStrokeJoin, PgSetStrokeJoinCx
PgSetStrokeTransPat, PgSetStrokeTransPatCx
PgSetStrokeWidth, PgSetStrokeFWidth, PgSetStrokeWidthCx, PgSetStrokeFWidthCx
PgSetStrokeXORColor, PgSetStrokeXORColorCx
PgSetTextColor, PgSetTextColorCx
PgSetTextDither, PgSetTextDitherCx
PgSetTextTransPat, PgSetTextTransPatCx
PgSetTextXORColor, PgSetTextXORColorCx
PgSetTranslation, PgSetTranslationCx
PgSetUnderline, PgSetUnderlineCx
PgSetUserClip, PgSetUserClipAbsolute, PgSetUserClipCx, PgSetUserClipAbsoluteCx
PgSetVideoMode
PgShmemAttach
PgShmemCleanup
PgShmemCreate
PgShmemDestroy
PgShmemDetach
PgSyncFlush, PgSyncFlushCx
PgSwapDisplay, PgSwapDisplayCx
PgUnlockLayer
PgVideoChannel_t
PgWaitDrawComplete
PgWaitHWIdle
PgWaitVSync, PgWaitVSyncCx
Ph---Photon
PhAddMergeTiles
PhAllocPackType
PhArea_t
PhAreaToRect
PhAttach
PhBlit
PhBitmapCursorDescription_t
PhCancelDrag
PhChannelAttach
name_attach and PtAppAddInput
PhCharacterCursorDescription_t
PhClipboardCopyString
PhClipboardHdr
PhClipboardPasteString
PhClipboardRead
PhClipboardWrite
PhClipTilings
PhCoalesceTiles
PhCopyTiles
PhCreateImage
PhCreateTransportCtrl
PhCursorDef_t
PhCursorDescription_t
PhDCCreate
PhDCGetCurrent
PhDCRelease
PhDCSetCurrent
PhDetach
PhDeTranslateRect
PhDeTranslateTiles
PhDim_t
PhDragEvent_t
PhEmit
PhEmitmx
PhEvent_t
Ph_EV_BOUNDARY
Ph_EV_BUT_PRESS
Ph_EV_BUT_RELEASE
Ph_EV_BUT_REPEAT
Ph_EV_DNDROP
Ph_EV_DRAG
Ph_EV_DRAW
Ph_EV_EXPOSE
Ph_EV_INFO
Ph_EV_KEY
Ph_EV_PTR_MOTION_BUTTON
Ph_EV_PTR_MOTION_NOBUTTON
Ph_EV_RAW
Ph_EV_SERVICE
Ph_EV_SYSTEM
Ph_EV_TIMER
Ph_EV_USER
Ph_EV_WM
PhEventArm
PhEventEmit
PhEventEmitmx
PhEventNext
PhEventPeek
PhEventRead
PhEventRegion_t
PhFindTransportType
PhFreeTiles
PhFreeTransportType
PhGetAllTransportHdrs
PhGetConnectId
PhGetConnectInfo
PhGetData
PhGetMsgSize
PhGetNextInlineData
PhGetNextTransportHdr
PhGetRects
PhGetTile
PhGetTransportHdr
PhGetTransportVectors
PhImage_t
Image types
PhInitDrag
PhInputGroup
PhIntersectTilings
PhKeyEvent_t
PhKeyToMb
PhLibVersion
PhLinkTransportData
PhLocateTransHdr
PhMakeGhostBitmap
PhMakeTransBitmap
PhMakeTransparent
PhMallocUnpack
PhMergeTiles
PhMoveCursorAbs
PhMoveCursorRel
PhMultiBlit
PhPackEntry
PhPackType
PhPoint_t
PhPoint16dot16_t
PhPointerEvent_t
PhQueryCursor
PhQueryRids
PhQuerySystemInfo
PhReattach
PhRect_t
PhRect16dot16_t
PhRectIntersect
PhRectsToTiles
PhRectToArea
PhRectUnion
PhRegion_t
PhRegionChange
PhRegionClose
PhRegionDataFindType
PhRegionDataHdr_t
PhRegionInfo
PhRegionOpen
PhRegionQuery
PhRegisterTransportType
PhReleaseImage
PhReleaseTransportCtrl
PhReleaseTransportHdrs
PhSortTiles
PhSysInfo_t
gen
gfx
PhTile_t
PhTilesBoundingRect
PhTilesToRects
PhTimerArm
PhTo8859_1
PhTranslateRect
PhTranslateTiles
PhTransportCtrl_t
PhTransportFindLink
PhTransportLink_t
PhTransportRegEntry_t
Fixup manifests
Endian information
PhTransportType
PhUnlinkTransportHdr
PhUnpack
PhWindowChange
PhWindowClose
PhWindowEvent_t
PhWindowOpen
PhWindowQueryVisible
Pi---Images
PiConvertImage
PiCropImage
PiDuplicateImage
PiFlipImage
PiGetPixel
PiGetPixelFromData
PiGetPixelRGB
PiInitImage
PiResizeImage
PiSetPixel
PiSetPixelInData
Pm---Memory
PmMemCreateMC
PmMemFlush
PmMemReleaseMC
PmMemSetChunkSize
PmMemSetMaxBufSize
PmMemSetType
PmMemStart
PmMemStop
Pp---Printing
PpContinueJob
PpCreatePC
PpEndJob
PpFreePrinterList
PpGetCanvas
PpGetPC
PpLoadDefaultPrinter
PpLoadPrinter
PpLoadPrinterList
PpPrintContext_t
Pp_PC_COLLATING_MODE
Pp_PC_COLOR_MODE
Pp_PC_CONTROL (read-only)
Pp_PC_COPIES
Pp_PC_DATE
Pp_PC_DEVICE
Pp_PC_DITHERING
Pp_PC_DO_PREVIEW
Pp_PC_DRIVER
Pp_PC_DUPLEX
Pp_PC_FILENAME
Pp_PC_INKTYPE
Pp_PC_INTENSITY
Pp_PC_JOB_NAME
Pp_PC_MARGINS
Pp_PC_MAX_DEST_SIZE
Pp_PC_NAME
Pp_PC_NONPRINT_MARGINS
Pp_PC_ORIENTATION
Pp_PC_PAGE_NUM
Pp_PC_PAGE_RANGE
Pp_PC_PAPER_SIZE
Pp_PC_PAPER_SOURCE
Pp_PC_PAPER_TYPE
Pp_PC_PREVIEW_APP
Pp_PC_PRINTER_RESOLUTION
Pp_PC_PROP_APP
Pp_PC_REVERSED
Pp_PC_SCALE
Pp_PC_SOURCE_COLORS
Pp_PC_SOURCE_OFFSET
Pp_PC_SOURCE_RESOLUTION
Pp_PC_SOURCE_SIZE
Pp_PC_USER_ID (read-only)
PpPrintNewPage
PpPrintWidget
PpReleasePC
PpSetCanvas
PpSetPC
PpStartJob
PpSuspendJob
Pt---Widget Toolkit
PtAddCallback
PtAddCallbacks
PtAddClassStyle
PtAddData
PtAddEventHandler
PtAddEventHandlers
PtAddFilterCallback
PtAddFilterCallbacks
PtAddHotkeyHandler
PtAddResponseType
PtAlert
PtAllowExit
PtAppAddCallback
PtAppAddEventHandler
PtAppAddFd, PtAppAddFdPri
PtAddFilterCallback
PtAppAddHotkeyHandler
PtAppAddInput
name_attach and PtAppAddInput
PtAppAddInputRemote
name_attach and PtAppAddInputRemote
PtAppAddSignalProc
PtAppAddWorkProc
PtAppCreatePulse
PtAppDeletePulse
PtAppGetResource
PtAppGetResources
PtAppInit
PtAppPulseTrigger
PtAppRemoveCallback
PtAppRemoveEventHandler
PtAppRemoveFd
PtAppRemoveFilterCallback
PtAppRemoveHotkeyHandler
PtAppRemoveInput
PtAppRemoveSignal
PtAppRemoveWorkProc
PtAppSetFdMode
PtAppSetResource
PtAppSetResources
Pt_CB_APP_EXIT
Pt_CB_APP_WCLASS_CREATED
Pt_CB_FILTER
Pt_CB_RAW
Pt_CB_HOTKEY
PtAppCallback_t
PtAppRawCallback_t
PtAppHotkeyCallback_t
PtArg_t
Pt_ARG
PtBalloonCallback_t
PtBkgdHandlerProcess
PtBlit
PtBlockAllWindows
PtBlockWindow
PtCalcAbsPosition
PtCalcCanvas
PtCalcSurface
PtCalcSurfaceByAction
PtCalcSurfaceById
PtCallback_t
PtCallbackInfo_t
PtCancelDnd
PtChannelCreate
PtCheckSurfaces
PtChildType
PtClearWidget
PtClipAdd
PtClippedBlit
PtClipRemove
PtComboBox*
PtCondTimedWait
PtCondWait
PtConnectionAddEventHandlers
PtConnectionAddMsgHandlers
PtConnectionClientDestroy
PtConnectionClientGetUserData
PtConnectionClientSetError
PtConnectionClientSetUserData
PtConnectionFindId
PtConnectionFindName
PtConnectionFlush
PtConnectionNotify
PtConnectionReply, PtConnectionReplymx
PtConnectionResizeEventBuffer
PtConnectionSend, PtConnectionSendmx
PtConnectionServerDestroy
PtConnectionServerGetUserData
PtConnectionServerSetError
PtConnectionServerSetUserData
PtConnectionTmpName
PtConnectionWaitForName
PtConnectorCreate
PtConnectorDestroy
PtConnectorGetId
PtConsoleSwitch
PtContainerBox
PtContainerFindFocus
PtContainerFocusNext
PtContainerFocusPrev
PtContainerGiveFocus
PtContainerHit
PtContainerHold
PtContainerNullFocus
PtContainerRelease
PtCRC
PtCRCValue
PtCreateActionSurface
PtCreateClassStyle
PtCreateSurface
PtCreateTransportCtrl
PtCreateWidget
PtDamageExtent
PtDamageSurface, PtDamageSurfaceById
PtDamageSurfaceByAction
PtDamageWidget
PtDestroyAllSurfaces
PtDestroySurface
PtDestroySurfaceById
PtDestroyWidget
PtDisableSurface, PtDisableSurfaceById
PtDisableSurfaceByAction
PtDndFetch_t
PtDndSelect
PtDupClassStyle
PtEnableSurface, PtEnableSurfaceById
PtEnableSurfaceByAction
PtEndFlux
PtEnter
PtEventHandler
PtExit
PtExtentWidget
PtExtentWidgetFamily
PtFdProcF_t, PtFdProc_t
PtFepCmd
PtFileSelection
PtFileSelectionInfo_t structure
PtFileSelectorInfo_t structure
PtFindChildClass
PtFindChildClassMember
PtFindClassStyle
PtFindContainer
PtFindData
PtFindDisjoint
PtFindFocusChild
PtFindFocusNextFrom
PtFindFocusPrevFrom
PtFindGuardian
PtFindNextData
PtFindSurface
PtFindSurfaceByAction
PtFlush
PtFontSelection
PtForwardWindowEvent
PtForwardWindowTaskEvent
PtFS*
PtGenList*
PtGenTree*
PtGetAbsPosition
PtGetControlFlags
PtGetDndFetchIndex
PtGetParent
PtGetParentWidget
PtGetRcvidPid
PtGetRcvidPidNd
PtGetResource
PtGetResources
PtGetStyleMember
PtGetWidgetStyle
PtGiveFocus
PtGlobalFocusNext
PtGlobalFocusNextContainer
PtGlobalFocusNextFrom
PtGlobalFocusPrev
PtGlobalFocusPrevContainer
PtGlobalFocusPrevFrom
PtHelpQuit
PtHelpSearch
PtHelpTopic
PtHelpTopicRoot
PtHelpTopicTree
PtHelpUrl
PtHelpUrlRoot
PtHideSurface, PtHideSurfaceById
PtHideSurfaceByAction
PtHit
PtHold
PtHotkeyCallback_t
PtInflateBalloon
PtInit
PtInitDnd
PtInputCallbackProcF_t, PtInputCallbackProc_t
PtInsertSurface, PtInsertSurfaceById
PtIsFluxing
PtIsFocused
PtLeave
PtList*
PtMainLoop
PtMakeModal
PtMessageBox
PtModalBlock
PtModalEnd
PtModalStart
PtModalUnblock
PtMulti*
PtNextTopLevelWidget
PtNotice
PtPassword
PtPG*
PtPositionMenu
PtPreventExit
PtPrintPropSelect
PtPrintPropSelectionInfo_t structure
Dialog resources
Main dialog buttons
Main dialog titles
Paper pane
Graphics pane
Margins pane
Defaults pane
Printers pane
Print Order pane
PtPrintSelect
PtPrintSelection
PtProcessEvent
PtProgress*
PtPrompt
PtPulseArm
PtQuerySystemInfo
PtQuitMainLoop
PtRawCallback_t
PtRealizeWidget
PtReattach
PtRelease
PtReleaseTransportCtrl
PtRemoveCallback
PtRemoveCallbacks
PtRemoveData
PtRemoveEventHandler
PtRemoveEventHandlers
PtRemoveFilterCallback
PtRemoveFilterCallbacks
PtRemoveHotkeyHandler
PtReparentWidget
PtReRealizeWidget
PtResizeEventMsg
PtSendEventToWidget
PtSetAreaFromCanvas
PtSetArg
PtSetClassStyleMethods
PtSetParentWidget
PtSetResource
PtSetResources
PtSetStyleMember
PtSetStyleMembers
PtSetWidgetStyle
PtShowSurface, PtShowSurfaceById
PtShowSurfaceByAction
PtSignalProcF_t, PtSignalProc_t
PtSpawn
Options
Callback function
PtSpawnDeleteCallback
PtSpawnSetCallback
PtSpawnWait
PtStartFlux
PtSurfaceActionId
PtSurfaceAddData, PtSurfaceAddDataById
PtSurfaceBrotherBehind
PtSurfaceBrotherInFront
PtSurfaceCalcBoundingBox, PtSurfaceCalcBoundingBoxById
PtSurfaceExtent, PtSurfaceExtentById
PtSurfaceGetData
PtSurfaceHit
PtSurfaceId
PtSurfaceInBack
PtSurfaceInFront
PtSurfaceIsDisabled
PtSurfaceIsEnabled
PtSurfaceIsHidden
PtSurfaceIsShown
PtSurfaceRect, PtSurfaceRectById
PtSurfaceRemoveData, PtSurfaceRemoveDataById
PtSurfaceTestPoint
PtSurfaceToBack, PtSurfaceToBackById
PtSurfaceToFront, PtSurfaceToFrontById
PtSyncWidget
PtTerminal*
PtText*
PtTimerArm
PtTransportCtrl_t
PtTransportRequestable
Request callback function
PtReqResponseHdr_t structure
PtTransportType
PtTree*
PtTrend*
PtTty*
PtUnblockWindows
PtUnlinkData
PtUnrealizeWidget
PtUpdate
PtValidParent
PtWidgetActiveSurface
PtWidgetArea
PtWidgetBrotherBehind
PtWidgetBrotherInFront
PtWidgetChildBack
PtWidgetChildFront
PtWidgetClass
PtWidgetClassFlags
PtWidgetDim
PtWidgetExtent
PtWidgetFamily
PtWidgetFlags
PtWidgetHelpHit
PtWidgetInsert
PtWidgetIsClass
PtWidgetIsClassMember
PtWidgetIsRealized
PtWidgetMinimumSize
PtWidgetOffset
PtWidgetParent
PtWidgetPreferredSize
PtWidgetRid
PtWidgetSkip
PtWidgetToBack
PtWidgetToFront
PtWidgetTree
PtWidgetTreeTraverse
PtWidgetVisibleExtent
PtWindow*
PtWindowConsoleSwitch
PtWindowGetFrameSize
PtWorkProcF_t, PtWorkProc_t
Px---Extended
PxConfigClose, PxConfigCloseCx
PxConfigDeleteEntry, PxConfigDeleteEntryCx
PxConfigDeleteSection, PxConfigDeleteSectionCx
PxConfigFirstSection, PxConfigFirstSectionCx
PxConfigForceEmptySection, PxConfigForceEmptySectionCx
PxConfigNextEntry, PxConfigNextEntryCx
PxConfigNextSection, PxConfigNextSectionCx
PxConfigNextString, PxConfigNextStringCx
PxConfigOpen, PxConfigOpenCx
PxConfigReadBool, PxConfigReadBoolCx
PxConfigReadChar, PxConfigReadCharCx
PxConfigReadDouble, PxConfigReadDoubleCx
PxConfigReadInt, PxConfigReadIntCx
PxConfigReadLLong, PxConfigReadLLongCx
PxConfigReadLong, PxConfigReadLongCx
PxConfigReadShort, PxConfigReadShortCx
PxConfigReadString, PxConfigReadStringCx
PxConfigSection, PxConfigSectionCx
PxConfigWriteBool, PxConfigWriteBoolCx
PxConfigWriteChar
PxConfigWriteDouble, PxConfigWriteDoubleCx
PxConfigWriteInt, PxConfigWriteIntCx
PxConfigWriteLLong, PxConfigWriteLLongCx
PxConfigWriteLong, PxConfigWriteLongCx
PxConfigWriteShort, PxConfigWriteShortCx
PxConfigWriteString, PxConfigWriteStringCx
PxGetImageExtensions
PxLoadImage
PxMethods_t
Threads and PxLoadImage
PxRotateImage
Methods
PxTerminalBuildCharsets
PxTerminalLoadCharsets
PxTerminalSaveCharsets
PxTerminate
PxTranslateFromUTF
PxTranslateList
PxTranslateSet
PxTranslateStateFromUTF
PxTranslateStateToUTF
PxTranslateToUTF
PxTranslateUnknown
Rt---Realtime
RtTimerCreate
RtTimerDelete
RtTimerGetTime
RtTimerSetTime
utf8---UTF-8 Character
utf8len
utf8strblen
utf8strchr
utf8strichr
utf8strirchr
utf8strlen
utf8strnchr
utf8strncmp
utf8strndup
utf8strnichr
utf8strnlen
utf8strrchr
utf8towc
wc---Wide-Character
wctolower
wctoutf8
What's New
What's new in Photon for QNX Neutrino 6.5.0 Service Pack 1
Errata
What's new in Photon for QNX Neutrino 6.5.0 Service Pack 1
Errata
What's new in Photon for QNX Neutrino 6.5.0
New entries
Changed entries
Errata
What's new in Photon for QNX Neutrino 6.4.1
New content in the docs
Corrections, clarifications, and other changes
What's new in Photon for QNX Neutrino 6.4.0
New content in the docs
Corrections, clarifications, and other changes
What's new in Photon for QNX Neutrino 6.3 Service Pack 1
New content in the docs
What's new in Photon for QNX Neutrino 6.3
New content in the docs
Corrections, clarifications, and other changes
Deprecated functions and data types
What's new in Photon for QNX Neutrino 6.2.1
New content in the docs
Deprecated functions and data types
Corrections
What's new in Photon for QNX Neutrino 6.2.0
New content in the docs
Ap
Pd
Pf
Pg
Ph
Pp
Pt
utf8
wc
Deprecated functions and data types
Corrections, clarifications, and other changes
What's new in Photon for QNX Neutrino 6.1.0
Patch A
New content in the docs
Deprecated functions and data types
Other changes
What's new in Photon for QNX Neutrino 6.0
New functionality
Font names
New content in the docs
Al---PhAB Translation
Ap---PhAB
mbstr---Multibyte-Character
Pd---Draw Context
Pf---Font Server
Pg---Graphics
Ph---Photon
Pi---Images
Pp---Printing
Pt---Widget toolkit
Px---Extended
Rt---Realtime
Corrections
Pg---Graphics
Ph---Photon
Glossary
Keyword Index
!
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Widget Reference
About This Reference
What you'll find in this guide
Typographical conventions
Note to Windows users
Technical support
Global Data Structures
PtBalloonCallback_t
PtCallback_t
Callback functions
PtCallbackInfo_t
PtHotkeyCallback_t
PtRawCallback_t
Widgets
Widget hierarchy
Widget icons in PhAB
What's in a widget description?
Class hierarchy
PhAB icon
Public header
Description
New resources
Inherited resources
Convenience functions
PtArc
Pt_ARG_ARC_END
Pt_ARG_ARC_START
Pt_ARG_ARC_TYPE
PtBarGraph
Pt_ARG_BARGRAPH_BASE
Pt_ARG_BARGRAPH_COLOR
Pt_ARG_BARGRAPH_DATA
Pt_ARG_BARGRAPH_DEPTH
Pt_ARG_BARGRAPH_FLAGS
Pt_ARG_BARGRAPH_GRID_COLOR
Pt_ARG_BARGRAPH_GRID_HORIZ
Pt_ARG_BARGRAPH_GRID_VERT
Pt_ARG_BARGRAPH_MAX
Pt_ARG_BARGRAPH_MIN
PtBasic
Selecting widgets
Borders and colors
Pt_ARG_BANDWIDTH_THRESHOLD
Pt_ARG_BASIC_FLAGS
Edge-control bits
Fill-control bits
Behavior on state change
Pt_ARG_BEVEL_COLOR
Pt_ARG_BEVEL_CONTRAST
Pt_ARG_COLOR
Pt_ARG_CONTRAST
Pt_ARG_DARK_BEVEL_COLOR
Pt_ARG_DARK_FILL_COLOR
Pt_ARG_FILL_COLOR
Pt_ARG_FILL_PATTERN
Pt_ARG_HIGHLIGHT_ROUNDNESS
Pt_ARG_INLINE_COLOR
Pt_ARG_LIGHT_BEVEL_COLOR
Pt_ARG_LIGHT_FILL_COLOR
Pt_ARG_MARGIN_HEIGHT
Pt_ARG_MARGIN_WIDTH
Pt_ARG_OUTLINE_COLOR
Pt_ARG_STYLE
Pt_ARG_TRANS_PATTERN
Pt_CB_ACTIVATE
Pt_CB_ARM
Pt_CB_DISARM
Pt_CB_GOT_FOCUS
Pt_CB_LOST_FOCUS
Pt_CB_MENU
Pt_CB_REPEAT
PtBezier
Pt_ARG_BEZIER_FLAGS
PtBkgd
Pt_ARG_BKGD_IMAGE
Pt_ARG_BKGD_SPACING_X
Pt_ARG_BKGD_SPACING_Y
Pt_ARG_BKGD_TILE
PtButton
Creating pushbuttons
Pushbutton behavior
Visual feedback
Pt_ARG_ARM_COLOR
Pt_ARG_ARM_FILL
Pt_ARG_ARM_IMAGE
PtCalendar
Pt_ARG_CALENDAR_COLOR1
Pt_ARG_CALENDAR_COLOR2
Pt_ARG_CALENDAR_COLOR3
Pt_ARG_CALENDAR_COLOR4
Pt_ARG_CALENDAR_COLOR5
Pt_ARG_CALENDAR_DATE
Pt_ARG_CALENDAR_FLAGS
Pt_ARG_CALENDAR_FONT1
Pt_ARG_CALENDAR_FONT2
Pt_ARG_CALENDAR_FONT3
Pt_ARG_CALENDAR_FONT4
Pt_ARG_CALENDAR_FONT5
Pt_ARG_CALENDAR_HIGHLIGHT
Pt_ARG_CALENDAR_MONTH_BTN_COLOR
Pt_ARG_CALENDAR_MONTH_NAMES
Pt_ARG_CALENDAR_SEL_COLOR
Pt_ARG_CALENDAR_TIME_T
Pt_ARG_CALENDAR_WDAY_NAMES
Pt_ARG_CALENDAR_YEAR_BTN_COLOR
Pt_CB_CALENDAR_SELECT
PtClient
Pt_ARG_CLIENT_FLAGS
Pt_ARG_CLIENT_NAME
Pt_ARG_CLIENT_REPLY_LEN
Pt_ARG_CLIENT_SEND
Pt_ARG_CLIENT_SERVER (read only)
Pt_CB_CLIENT_CONNECTED
Pt_CB_CLIENT_ERROR
Pt_CB_CLIENT_EVENT
Pt_CB_CLIENT_NOT_FOUND
PtClock
Pt_ARG_CLOCK_FACE_COLOR
Pt_ARG_CLOCK_FACE_OUTLINE_COLOR
Pt_ARG_CLOCK_FLAGS
Pt_ARG_CLOCK_FONT
Pt_ARG_CLOCK_HOUR
Pt_ARG_CLOCK_HOUR_COLOR
Pt_ARG_CLOCK_HOUR_OFFSET
Pt_ARG_CLOCK_MINUTE
Pt_ARG_CLOCK_MINUTE_COLOR
Pt_ARG_CLOCK_MINUTE_OFFSET
Pt_ARG_CLOCK_SECOND
Pt_ARG_CLOCK_SECOND_COLOR
Pt_ARG_CLOCK_SECOND_OFFSET
Pt_ARG_CLOCK_SEP1
Pt_ARG_CLOCK_SEP1_COLOR
Pt_ARG_CLOCK_SEP2
Pt_ARG_CLOCK_SEP2_COLOR
Pt_ARG_CLOCK_TYPE
Pt_CB_CLOCK_TIME_CHANGED
PtColorPanel
Pt_ARG_CPANEL_FLAGS
PtColorPatch
Pt_ARG_CPATCH_FLAGS
PtColorSel
Pt_ARG_CS_COLOR
Pt_ARG_CS_COLOR_MODELS
Pt_ARG_CS_CURRENT_MODEL
Pt_ARG_CS_FLAGS
Pt_ARG_CS_PALETTE
Pt_CB_CS_COLOR_CHANGED
PtColorSelGroup
Pt_ARG_CSGROUP_FLAGS
PtColorWell
Pt_ARG_CWELL_FLAGS
Pt_ARG_CWELL_SWATCH_DIM
PtComboBox
Keyboard actions
Callbacks
Pt_ARG_CBOX_BUTTON_WIDTH
Pt_ARG_CBOX_FLAGS
Pt_ARG_CBOX_MAX_VISIBLE_COUNT
Pt_ARG_CBOX_SEL_ITEM
Pt_ARG_CBOX_TEXT_FILL_COLOR
Pt_CB_CBOX_ACTIVATE
Pt_CB_CBOX_CLOSE
Pt_ARG_VISIBLE_COUNT
PtComboBoxListClose
PtComboBoxListOpen
PtCompound
PtContainer
Pt_ARG_CONTAINER_FLAGS
Pt_ARG_CURSOR_OVERRIDE
Pt_ARG_LAYOUT
Pt_ARG_LAYOUT_INFO
Pt_ARG_LAYOUT_TYPE
Pt_ARG_FILL_LAYOUT_INFO
Pt_ARG_ROW_LAYOUT_INFO
Pt_ARG_GRID_LAYOUT_INFO
Pt_ARG_TITLE
Pt_ARG_TITLE_FONT
Pt_CB_BALLOONS
Pt_CB_CHILD_ADDED_REMOVED
Pt_CB_CHILD_GETTING_FOCUS
Pt_CB_CHILD_LOSING_FOCUS
Pt_CB_LAYOUT
Pt_CB_RESIZE
PtDisjoint
Pt_ARG_SYSINFO (read only)
Pt_CB_SYSINFO
PtDivider
Examples
Pt_ARG_DIVIDER_FLAGS
Pt_ARG_DIVIDER_OFFSET
Pt_ARG_DIVIDER_SIZES (read-only)
Pt_CB_DIVIDER_DRAG
Pt_CB_DIVIDER_HANDLE_CALLBACK
Pt_ARG_BANDWIDTH_THRESHOLD
Pt_ARG_GROUP_ORIENTATION
PtEllipse
PtFileSel
Examples
Pt_ARG_FS_FILE_SPEC
Pt_ARG_FS_FLAGS
Pt_ARG_FS_FORMAT
Pt_ARG_FS_IMAGES (write-only)
Pt_ARG_FS_LBL_DATE
Pt_ARG_FS_LBL_GROUP
Pt_ARG_FS_LBL_NAME
Pt_ARG_FS_LBL_OWNER
Pt_ARG_FS_LBL_PERMISSIONS
Pt_ARG_FS_LBL_SIZE
Pt_ARG_FS_REFRESH
Pt_ARG_FS_ROOT_DIR
Pt_CB_FS_BKGD_HANDLER
Pt_CB_FS_SELECTION
Pt_CB_FS_STATE
Pt_CB_DND
PtFSAddAfter
PtFSAddFirst
PtFSAllItems
PtFSAllocItem
PtFSClearSelection
PtFSDamageItem
PtFSExpandParents
PtFSFolderCollapse
PtFSFolderExpand
PtFSFreeAllItems
PtFSFreeItems
PtFSGetCurrent
PtFSGetSelIndexes
PtFSGoto
PtFSItemIndex
PtFSRemoveChildren
PtFSRemoveItem
PtFSRemoveList
PtFSRootItem
PtFSSelect
PtFSSelectedItems
PtFSSetSelIndexes
PtFSShow
PtFSUnselect
PtFSUnselectNonBrothers
PtFontSel
Pt_ARG_FONT_DISPLAY
Pt_ARG_FONT_FLAGS
Pt_ARG_FONT_LBL_BKGDCOLOR
Pt_ARG_FONT_LBL_FONT
Pt_ARG_FONT_LBL_SIZE
Pt_ARG_FONT_LBL_STYLE
Pt_ARG_FONT_LBL_TEXTCOLOR
Pt_ARG_FONT_NAME
Pt_ARG_FONT_POINT_SIZE_MAX
Pt_ARG_FONT_SAMPLE
Pt_ARG_FONT_SYMBOL
Pt_ARG_FONT_TEXT_COLOR
Pt_ARG_FONT_TEXT_BKGD_COLOR
Pt_CB_FONT_MODIFY
PtGauge
Pt_ARG_GAUGE_FLAGS
Pt_ARG_GAUGE_FONT
Pt_ARG_GAUGE_H_ALIGN
Pt_ARG_GAUGE_V_ALIGN
Pt_ARG_GAUGE_VALUE
Pt_ARG_GAUGE_VALUE_PREFIX
Pt_ARG_GAUGE_VALUE_SUFFIX
Pt_ARG_MAXIMUM
Pt_ARG_MINIMUM
Pt_ARG_ORIENTATION
Pt_CB_GAUGE_VALUE_CHANGED
PtGenList
Using scrollbars
Current item
Mouse actions
Keyboard actions
Pt_ARG_LIST_COLUMN_ATTR
Pt_ARG_LIST_COLUMN_POS
Pt_ARG_LIST_DNDSEL_COLOR
Pt_ARG_LIST_FLAGS
Pt_ARG_LIST_FONT
Pt_ARG_LIST_ITEM_COUNT (read-only)
Pt_ARG_LIST_SB_RES
Pt_ARG_LIST_SCROLL_RATE
Pt_ARG_LIST_SEL_COUNT (read-only)
Pt_ARG_LIST_TOTAL_HEIGHT (read-only)
Pt_ARG_SCROLLBAR_WIDTH
Pt_ARG_SELECTION_FILL_COLOR
Pt_ARG_SELECTION_MODE
Pt_ARG_SELECTION_TEXT_COLOR
Pt_ARG_TOP_ITEM_POS
Pt_ARG_VISIBLE_COUNT (read-only)
Pt_CB_SCROLL_MOVE
Pt_CB_DND
PtGenListAddItems
PtGenListAllItems
PtGenListClearSelection
PtGenListCreateTextBalloon
PtGenListDamageItem
PtGenListDrawBackground
PtGenListDrawString
PtGenListFirstItem
PtGenListGetCurrent
PtGenListGetSelIndexes
PtGenListGoto
PtGenListHold
PtGenListItem_t
PtGenListItemIndex
PtGenListItemRealloc
PtGenListLastItem
PtGenListLockItem
PtGenListRelease
PtGenListRemoveItems
PtGenListResize
PtGenListSelect
PtGenListSelectedItems
PtGenListSetColumnBalloon
PtGenListSetGflags
PtGenListSetSelIndexes
PtGenListShow
PtGenListUnlockItem
PtGenListUnselect
PtGenTree
Pt_ARG_TREE_FLAGS
Pt_ARG_TREE_LINE_COLOR
Pt_ARG_TREE_LINE_SPACING
Pt_ARG_TREE_MARGIN_COLOR
Pt_CB_GEN_TREE_INPUT
Pt_CB_DND
PtGenTreeAddAfter
PtGenTreeAddFirst
PtGenTreeAllItems
PtGenTreeClearSelection
PtGenTreeCollapse
PtGenTreeDamageItem
PtGenTreeExpand
PtGenTreeExpandParents
PtGenTreeFreeAllItems
PtGenTreeFreeItems
PtGenTreeGetCurrent
PtGenTreeGetSelIndexes
PtGenTreeGoto
PtGenTreeItem_t
PtGenTreeItemIndex
PtGenTreeItemRealloc
PtGenTreeItemResize
PtGenTreeRemoveChildren
PtGenTreeRemoveItem
PtGenTreeRemoveList
PtGenTreeResize
PtGenTreeRootItem
PtGenTreeSelect
PtGenTreeSelectedItems
PtGenTreeSetSelIndexes
PtGenTreeShow
PtGenTreeUnselect
PtGenTreeUnselectNonBrothers
PtGraphic
Origin and coordinates
Line attributes
Colors
Creating a drawing
Sizing the primitives
Grouping elements of the drawing
Pt_ARG_DASH_LIST
Pt_ARG_DASH_SCALE
Pt_ARG_GRAPHIC_FLAGS
Pt_ARG_INSIDE_COLOR
Pt_ARG_INSIDE_FILL_PATTERN
Pt_ARG_INSIDE_TRANS_PATTERN
Pt_ARG_LINE_CAP
Pt_ARG_LINE_JOIN
Pt_ARG_LINE_WIDTH
Pt_ARG_ORIGIN
Pt_ARG_POINTS
Pt_CB_RESCALE
PtGrid
Pt_ARG_GRID_HORIZONTAL
Pt_ARG_GRID_VERTICAL
PtGroup
Pt_ARG_CELL_HORZ_ALIGN
Pt_ARG_CELL_VERT_ALIGN
Pt_ARG_GROUP_FLAGS
Pt_ARG_GROUP_HORZ_ALIGN
Pt_ARG_GROUP_ORIENTATION
Pt_ARG_GROUP_ROWS_COLS
Pt_ARG_GROUP_SPACING
Pt_ARG_GROUP_SPACING_X
Pt_ARG_GROUP_SPACING_Y
Pt_ARG_GROUP_VERT_ALIGN
PtImageArea
Pt_ARG_IMAGEAREA_FLAGS
Pt_ARG_IMAGEAREA_GRID_COLOR
Pt_ARG_IMAGEAREA_GRID_THRESHOLD
Pt_ARG_IMAGEAREA_IMAGE
Pt_ARG_IMAGEAREA_LEFT
Pt_ARG_IMAGEAREA_SELECTION
Pt_ARG_IMAGEAREA_TOP
Pt_ARG_IMAGEAREA_ZOOM
Pt_CB_IMAGEAREA_DRAG
Pt_CB_IMAGEAREA_MOVEMENT
Pt_CB_IMAGEAREA_SCROLLED
Pt_CB_IMAGEAREA_SELECTION
PtLabel
Creating labels
Text labels
Image and bitmap labels
Balloons
Pt_ARG_ACCEL_KEY
Pt_ARG_BALLOON_COLOR
Pt_ARG_BALLOON_FILL_COLOR
Pt_ARG_BALLOON_POSITION
Pt_ARG_BALLOON_TEXT
Pt_ARG_HORIZONTAL_ALIGNMENT
Pt_ARG_LABEL_BALLOON
Pt_ARG_LABEL_FLAGS
Pt_ARG_LABEL_IMAGE
Pt_ARG_LABEL_TYPE
Pt_ARG_LINE_SPACING
Pt_ARG_MARGIN_BOTTOM
Pt_ARG_MARGIN_LEFT
Pt_ARG_MARGIN_RIGHT
Pt_ARG_MARGIN_TOP
Pt_ARG_SECONDARY_H_ALIGN
Pt_ARG_SECONDARY_V_ALIGN
Pt_ARG_TEXT_FONT
Pt_ARG_TEXT_IMAGE_SPACING
Pt_ARG_TEXT_STRING
Pt_ARG_UNDERLINE1
Pt_ARG_UNDERLINE2
Pt_ARG_UNDERLINE_TYPE
Pt_ARG_VERTICAL_ALIGNMENT
PtLine
PtList
Limitations
Displaying items in columns
Creating lists
Controlling the number of items displayed
Selection notification
Handling single selections
Handling multiple selections
Pt_ARG_ITEMS
Pt_ARG_LIST_BALLOON
Pt_ARG_LIST_SPACING
Pt_ARG_MODIFY_ITEMS (write only)
Pt_ARG_SELECTION_INDEXES
Pt_CB_LIST_INPUT
Pt_CB_SELECTION
Pt_ARG_VISIBLE_COUNT
Pt_CB_DND
PtListAddItems
PtListDeleteAllItems
PtListDeleteItemPos
PtListDeleteItems
PtListGotoPos
PtListItemExists
PtListItemPos
PtListRemovePositions
PtListReplaceItemPos
PtListReplaceItems
PtListSelectPos
PtListShowPos
PtListUnselectPos
PtMenu
Creating menus
Populating the menu
Sizing
Lifetime
Pulldown menus
Popup menus
Cascaded menus
Complete menu example
Pt_ARG_MENU_FLAGS
Pt_ARG_MENU_INPUT_GROUP
Pt_ARG_MENU_ITEM_FILL_COLOR
Pt_ARG_MENU_ITEM_HIGHLIGHT_COLOR
Pt_ARG_MENU_SPACING
Pt_ARG_MENU_TEXT_FONT
Pt_ARG_MENU_TITLE
Pt_ARG_MENU_TITLE_FONT
Pt_ARG_SUBMENU_PARENT_HIGHLIGHT_COLOR
PtMenuBar
PtMenuButton
Pt_ARG_ACCEL_FONT
Pt_ARG_ACCEL_TEXT
Pt_ARG_BUTTON_TYPE
Pt_ARG_MODIFIER_KEYS
PtMeter
Creating a 3-arc meter
Creating a 1-arc meter
Creating a 3-arc meter movable by keys and mouse
Full meter example
Pt_ARG_METER_COLOR
Pt_ARG_METER_FLAGS
Pt_ARG_METER_FONT_COLOR
Pt_ARG_METER_INCREMENT
Pt_ARG_METER_KEY_LEFT
Pt_ARG_METER_KEY_RIGHT
Pt_ARG_METER_LEVEL1_COLOR
Pt_ARG_METER_LEVEL1_POS
Pt_ARG_METER_LEVEL2_COLOR
Pt_ARG_METER_LEVEL2_POS
Pt_ARG_METER_LEVEL3_COLOR
Pt_ARG_METER_MAX_NEEDLE_POSITION
Pt_ARG_METER_MIN_NEEDLE_POSITION
Pt_ARG_METER_NEEDLE_COLOR
Pt_ARG_METER_NEEDLE_POSITION
Pt_ARG_METER_NUM_SEVERITY_LEVELS
Pt_ARG_METER_TEXT_FONT
Pt_CB_METER_MOVED
PtMTrend
Example
Pt_ARG_MTREND_FLAGS
Pt_ARG_MTREND_N_SAMPLES
Pt_ARG_MTREND_N_GRAPHS
Pt_ARG_MTREND_GRAPH_ATTR
Pt_ARG_MTREND_GRAPH_STATE
Pt_ARG_MTREND_GRAPH_DATA
Pt_ARG_MTREND_TRACE_WIDTH
Pt_ARG_MTREND_TRACE_COLOR
Pt_ARG_MTREND_TRACE_DRAW_F
Pt_ARG_MTREND_GRID_X
Pt_ARG_MTREND_GRID_Y
Pt_ARG_MTREND_GRID_COLOR
Pt_ARG_MTREND_GRID_DRAW_F
Pt_ARG_MTREND_ADVANCE_BY_N_SAMPLES
PtMTrendAddData, PtMTrendChangeData
PtMultiText
Features
Setting text
Text attributes
Setting text using ranges
Inserting text with assigned attributes
Changing the attributes of a range of text
Hyperlinks using cursor-motion callbacks
Widget dimensions
Drag and Drop
Pt_ARG_MULTITEXT_BOTTOM_LINE (write-only)
Pt_ARG_MULTITEXT_FLAGS
Pt_ARG_MULTITEXT_NUM_LINES (read-only)
Pt_ARG_MULTITEXT_NUM_LINES_VISIBLE (read-only)
Pt_ARG_MULTITEXT_QUERY_CHARACTER (read-only)
Pt_ARG_MULTITEXT_QUERY_LINE (read-only)
Pt_ARG_MULTITEXT_RANGE_ATTRIBUTES
Pt_ARG_MULTITEXT_ROWS (write-only)
Pt_ARG_MULTITEXT_SEGMENTS (write-only)
Pt_ARG_MULTITEXT_TABS
Pt_ARG_MULTITEXT_TOP_LINE
Pt_ARG_MULTITEXT_WRAP_FLAGS
Pt_ARG_MULTITEXT_X_SCROLL_POS
Pt_ARG_MULTITEXT_Y_SCROLL_POS
Pt_ARG_SCROLLBAR_X_DISPLAY
Pt_ARG_SCROLLBAR_X_HEIGHT
Pt_ARG_SCROLLBAR_Y_DISPLAY
Pt_ARG_SCROLLBAR_Y_WIDTH
Pt_CB_ACTIVATE
Pt_CB_GOT_FOCUS, Pt_CB_LOST_FOCUS
Pt_CB_TEXT_CHANGED, Pt_CB_MODIFY_NOTIFY, Pt_CB_MOTION_NOTIFY
Pt_CB_MODIFY_VERIFY
Pt_CB_MOTION_VERIFY
PtMultiLines_t
PtMultiTextAttributes_t
PtMultiTextCallback_t
PtMultiTextCreateAttributes
PtMultiTextGetAttributes
PtMultiTextInfo
PtMultiTextLine_t
PtMultiTextModifyAttributes
PtMultiTextModifyText
PtMultiTextQuery_t
PtMultiTextSegment_t
PtNumeric
Pt_ARG_NUMERIC_FLAGS
Pt_ARG_NUMERIC_PREFIX
Pt_ARG_NUMERIC_SPACING
Pt_ARG_NUMERIC_SUFFIX
Pt_ARG_NUMERIC_UPDOWN_WIDTH
PtNumericFloat
Pt_ARG_NUMERIC_INCREMENT
Pt_ARG_NUMERIC_MAX
Pt_ARG_NUMERIC_MIN
Pt_ARG_NUMERIC_PRECISION
Pt_ARG_NUMERIC_VALUE
Pt_CB_NUMERIC_CHANGED
Pt_CB_ACTIVATE
PtNumericInteger
Pt_ARG_NUMERIC_INCREMENT
Pt_ARG_NUMERIC_MAX
Pt_ARG_NUMERIC_MIN
Pt_ARG_NUMERIC_VALUE
Pt_CB_NUMERIC_CHANGED
Pt_CB_ACTIVATE
PtOnOffButton
Pt_ARG_ONOFF_STATE
Pt_CB_ONOFF_NEW_VALUE
PtOSContainer
Pt_ARG_FILL_COLOR
PtPane
PtPanelGroup
Populating a panel group
Multiple panels
Single panel
Panel margins
Panel indexes
Pt_ARG_MARGIN_BOTTOM
Pt_ARG_MARGIN_LEFT
Pt_ARG_MARGIN_RIGHT
Pt_ARG_MARGIN_TOP
Pt_ARG_PG_CURRENT
Pt_ARG_PG_CURRENT_INDEX
Pt_ARG_PG_FLAGS
Pt_ARG_PG_OVERLAP_THRESHOLD
Pt_ARG_PG_PANEL_TITLES
Pt_ARG_PG_SELECTION_MODE
Pt_CB_PG_PANEL_SWITCHING
PtPGCreatePopup
PtPGFindIndexByPanel
PtPGFindIndexByTitle
PtPGFindPanelByIndex
PtPGFindPanelByTitle
PtPGFindTitleByIndex
PtPixel
PtPolygon
Pt_ARG_POLYGON_FLAGS
PtPrintSel
Pt_ARG_PRINT_CONTEXT
Pt_ARG_PRINT_FILE
Pt_ARG_PRINT_FLAGS
Pt_ARG_PS_LBL_ALL
Pt_ARG_PS_LBL_COLLATED
Pt_ARG_PS_LBL_COPIES
Pt_ARG_PS_LBL_DOUBLE_SIDED
Pt_ARG_PS_LBL_FILE
Pt_ARG_PS_LBL_FROM
Pt_ARG_PS_LBL_NAME
Pt_ARG_PS_LBL_NOT_COLLATED
Pt_ARG_PS_LBL_PREFERENCES
Pt_ARG_PS_LBL_PRINT_ORDER
Pt_ARG_PS_LBL_PRINT_PAGES
Pt_ARG_PS_LBL_RANGE
Pt_ARG_PS_LBL_REVERSED
Pt_ARG_PS_LBL_SELECTION
Pt_ARG_PS_LBL_SEND_TO_FILE
Pt_ARG_PS_LBL_SEND_TO_PRINTER
Pt_ARG_PS_LBL_TO
Pt_CB_PRINT_PROPS
PtProgress
Pt_ARG_PROGRESS_BAR_COLOR
Pt_ARG_PROGRESS_DIVISIONS
Pt_ARG_PROGRESS_GAP
Pt_ARG_PROGRESS_SPACING
PtProgressEntireSegment
PtProgressFirstSegment
PtProgressNextSegment
PtProgressTextRect
PtRaw
Draw function
Pt_ARG_RAW_CALC_OPAQUE_F
Pt_ARG_RAW_CONNECT_F
Pt_ARG_RAW_DRAW_F
Pt_ARG_RAW_EXTENT_F
Pt_ARG_RAW_INIT_F
PtRawList
Pt_ARG_RAWLIST_BACKGROUND_F
Pt_ARG_RAWLIST_DRAW_F
Pt_ARG_RAWLIST_GFLAGS
Pt_ARG_RAWLIST_INFLATE_F
Pt_ARG_RAWLIST_KEY_F
Pt_ARG_RAWLIST_MOUSE_F
Pt_ARG_RAWLIST_SELECT_F
Pt_CB_DND
PtRawTree
Pt_ARG_RAWTREE_DRAW_F
Pt_ARG_RAWTREE_INFLATE_F
Pt_ARG_RAWTREE_SELECT_F
Pt_ARG_RAWTREE_STATE_F
Pt_ARG_TREE_FLAGS
Pt_CB_DND
PtRect
Pt_ARG_RECT_ROUNDNESS
PtRegion
Pt_ARG_REGION_FIELDS
Pt_ARG_REGION_FLAGS
Pt_ARG_REGION_INFRONT
Pt_ARG_REGION_INPUT_GROUP
Pt_ARG_REGION_OPAQUE
Pt_ARG_REGION_PARENT
Pt_ARG_REGION_RECTANGLES
Pt_ARG_REGION_SENSE
PtScrollArea
Scrolling notification
Scrolling control
Pt_ARG_SCROLLAREA_FLAGS
Pt_ARG_SCROLLAREA_INCREMENT_X
Pt_ARG_SCROLLAREA_INCREMENT_Y
Pt_ARG_SCROLLAREA_MAX_X
Pt_ARG_SCROLLAREA_MAX_Y
Pt_ARG_SCROLLAREA_POS_X
Pt_ARG_SCROLLAREA_POS_Y
Pt_ARG_SCROLLAREA_SCROLLBAR_COLOR
Pt_ARG_SCROLLBAR_X_DISPLAY
Pt_ARG_SCROLLBAR_X_HEIGHT
Pt_ARG_SCROLLBAR_Y_DISPLAY
Pt_ARG_SCROLLBAR_Y_WIDTH
Pt_CB_SCROLLAREA_SCROLLED
PtScrollAreaCanvas
PtScrollbar
Mouse actions
Keyboard actions
Pt_ARG_INCREMENT
Pt_ARG_MIN_SLIDER_SIZE
Pt_ARG_PAGE_INCREMENT
Pt_ARG_SCROLLBAR_FLAGS
Pt_ARG_SLIDER_SIZE
Pt_CB_SCROLL_MOVE
Pt_ARG_BANDWIDTH_THRESHOLD
PtScrollContainer
Anchors and resize policy
Pt_ARG_SCROLLCONT_FLAGS
Pt_ARG_SCROLLCONT_RESIZE_FLAGS
PtSeparator
Pt_ARG_SEP_ARM_BITMAP_CURSOR
Pt_ARG_SEP_ARM_CURSOR_COLOR
Pt_ARG_SEP_ARM_CURSOR_TYPE
Pt_ARG_SEP_DRAG_BOUNDS
Pt_ARG_SEP_FLAGS
Pt_ARG_SEP_IMAGE
Pt_ARG_SEP_IMAGE_H_ALIGN
Pt_ARG_SEP_IMAGE_V_ALIGN
Pt_ARG_SEP_TYPE
Pt_CB_SEP_DRAG
Pt_ARG_BANDWIDTH_THRESHOLD
PtServer
Pt_ARG_SERVER_CONNECTION
Pt_ARG_SERVER_NAME
Pt_ARG_SERVER_SEND (write only)
Pt_CB_SERVER_CONNECTED
Pt_CB_SERVER_ERROR
Pt_CB_SERVER_RECEIVE
Pt_CB_SERVER_TRANSPORT
PtSlider
Mouse actions
Keyboard actions
Pt_ARG_SLIDER_FLAGS
Pt_ARG_SLIDER_HANDLE_COLOR
Pt_ARG_SLIDER_HANDLE_WIDTH
Pt_ARG_SLIDER_IMAGE
Pt_ARG_SLIDER_INCREMENT
Pt_ARG_SLIDER_MULTIPLE
Pt_ARG_SLIDER_TICK_MAJOR_DIV
Pt_ARG_SLIDER_TROUGH_IMAGE1, Pt_ARG_SLIDER_TROUGH_IMAGE2
Pt_CB_SLIDER_MOVE
PtTab
Pt_ARG_TAB_FLAGS
Pt_ARG_TAB_UNSELECTED_COLOR
PtTerminal
PtTerminal and PtTty
Fonts
Character sets
Resource changes and function reentrancy
Geometry
Resizing
Adjusting after a resize
The default resize function
Size limits
Console emulation
Color coding
Drawing and scrolling
Scrolling optimization
Drag and Drop
Pt_ARG_TERM_ANSI_PROTOCOL
Pt_ARG_TERM_APP
Pt_ARG_TERM_CHARSETS
Pt_ARG_TERM_COLOR_MODE
Pt_ARG_TERM_COLOR_TABLE
Pt_ARG_TERM_COLS
Pt_ARG_TERM_CONSOLE
Pt_ARG_TERM_CUR_COL
Pt_ARG_TERM_CUR_POS
Pt_ARG_TERM_CUR_ROW
Pt_ARG_TERM_CURSOR_FLAGS
Pt_ARG_TERM_DRAW_MODES
Pt_ARG_TERM_FONT
Pt_ARG_TERM_FONT_INDEX
Pt_ARG_TERM_FONT_LIST
Pt_ARG_TERM_FONT_SIZE (read-only)
Pt_ARG_TERM_MARGINS (read-only)
Pt_ARG_TERM_MAXCOLS
Pt_ARG_TERM_MAXROWS
Pt_ARG_TERM_MAXSIZE
Pt_ARG_TERM_MINCOLS
Pt_ARG_TERM_MINROWS
Pt_ARG_TERM_MINSIZE
Pt_ARG_TERM_OPTIONS
Pt_ARG_TERM_OPTMASK
Pt_ARG_TERM_RESIZE_FL
Pt_ARG_TERM_RESIZE_FUN
Pt_ARG_TERM_RESIZE_STR
Pt_ARG_TERM_ROWS
Pt_ARG_TERM_SCRLBK_COUNT
Pt_ARG_TERM_SCRLBK_LIMIT
Pt_ARG_TERM_SCRLBK_POS
Pt_ARG_TERM_SCROLL
Pt_ARG_TERM_SELECTION
Pt_ARG_TERM_SIZE
Pt_ARG_TERM_VISUAL_BELL
Pt_CB_TERM_APP
Pt_CB_TERM_FONT
Pt_CB_TERM_INPUT
Pt_CB_TERM_OPTIONS
Pt_CB_TERM_RESIZE
Pt_CB_TERM_RESIZED
Pt_CB_TERM_SCRLBK
Pt_ARG_BANDWIDTH_THRESHOLD
Pt_ARG_FILL_COLOR
PtTerminalCharset_t, PtTerminalCharsets_t
PtTerminalCopy
PtTerminalCreateCsXlat
PtTerminalDefaultCharsets
PtTerminalFontInfo
PtTerminalGetKeys
PtTerminalGetSelection
PtTerminalName
PtTerminalPasteClipboard
PtTerminalPasteSelection
PtTerminalPut, PtTerminalPutc, PtTerminalPuts
PtTerminalSelectWord
PtText
Interaction model
Selecting text
The widget's text
Setting text
Getting text
Getting the current selection
Replacing text
Text-modification callbacks
Validation
Preventing the modification
Handling deletions
Example: entering a password
String changes
Focus callbacks
Cursor-movement callbacks
Activate callback
Edit masks
Mouse actions
Keyboard actions
Drag and Drop
Pt_ARG_COLUMNS
Pt_ARG_CURSOR_POSITION
Pt_ARG_EDIT_MASK
Pt_ARG_MAX_LENGTH
Pt_ARG_SELECTION_RANGE
Pt_ARG_TEXT_CURSOR_WIDTH
Pt_ARG_TEXT_FLAGS
Pt_ARG_TEXT_HIGHLIGHT_BACKGROUND_COLOR
Pt_ARG_TEXT_HIGHLIGHT_TEXT_COLOR
Pt_ARG_TEXT_SUBSTRING
Pt_CB_MODIFY_NOTIFY or Pt_CB_TEXT_CHANGED
Pt_CB_MODIFY_VERIFY
Pt_CB_MOTION_NOTIFY
Pt_CB_MOTION_VERIFY
Pt_CB_ACTIVATE
Pt_CB_GOT_FOCUS, Pt_CB_LOST_FOCUS
PtTextCallback_t, PtTextControl_t, PtTextControlInfo_t
PtTextGetSelection
PtTextModifyText
PtTextSetSelection
PtTimer
Pt_ARG_TIMER_INITIAL
Pt_ARG_TIMER_REPEAT
Pt_CB_TIMER_ACTIVATE
PtToggleButton
Creating toggle buttons
Grouping toggle buttons
Pt_ARG_INDICATOR_COLOR
Pt_ARG_INDICATOR_TYPE
PtToolbar
Pt_ARG_ORIENTATION
Pt_ARG_TOOLBAR_FLAGS
Pt_ARG_TOOLBAR_LAYOUT_FLAGS
Pt_ARG_TOOLBAR_SPACING
PtToolbarGroup
Pt_ARG_ORIENTATION
Pt_ARG_TG_FLAGS
PtTree
Allocating items and building a tree
Using images in tree items
Displaying text in columns
Displaying images in columns
Pt_ARG_TREE_BALLOON
Pt_ARG_TREE_COLUMN_ATTR
Pt_ARG_TREE_COLUMN_IMGFUN
Pt_ARG_TREE_IMAGES
Pt_ARG_TREE_IMGMASK
Pt_CB_TREE_COLUMN_SEL
Pt_CB_TREE_SELECTION
Pt_CB_TREE_STATE
Pt_ARG_TREE_FLAGS
Pt_CB_DND
PtTreeAddAfter
PtTreeAddFirst
PtTreeAddImages
PtTreeAllItems
PtTreeAllocItem
PtTreeChangeItem
PtTreeClearSelection
PtTreeCollapse
PtTreeCreateItem
PtTreeExpand
PtTreeFreeAllItems
PtTreeFreeItems
PtTreeGetCurrent
PtTreeGetSelIndexes
PtTreeGoto
PtTreeItem_t
PtTreeItemAttributes_t
PtTreeItemIndex
PtTreeModifyItem
PtTreeModifyItemString
PtTreeRemoveChildren
PtTreeRemoveItem
PtTreeRemoveList
PtTreeRootItem
PtTreeSelect
PtTreeSelectedItems
PtTreeSetSelIndexes
PtTreeShow
PtTreeUnselect
PtTreeUnselectNonBrothers
PtTrend
Pt_ARG_TREND_ATTRIBUTES
Pt_ARG_TREND_COLOR_LIST
Pt_ARG_TREND_COUNT
Pt_ARG_TREND_DATA (write-only)
Pt_ARG_TREND_FLAGS
Pt_ARG_TREND_GRID_COLOR
Pt_ARG_TREND_GRID_X
Pt_ARG_TREND_GRID_Y
Pt_ARG_TREND_INC
Pt_ARG_TREND_MAX
Pt_ARG_TREND_MIN
Pt_ARG_TREND_PALETTE_END
PtTrendChangeData, PtTrendChangeTrendData
PtTty
PtTerminal and PtTty
Setting PtTty resources
File descriptors
Drag and Drop
Pt_ARG_TTY_ARGV (write-only)
Pt_ARG_TTY_BUFFER
Pt_ARG_TTY_BUFLEN
Pt_ARG_TTY_CMD (write-only)
Pt_ARG_TTY_DEVSIZE
Pt_ARG_TTY_EXIT_STATUS (read-only)
Pt_ARG_TTY_FDS
Pt_ARG_TTY_FDSET
Pt_ARG_TTY_FLAGS
Pt_ARG_TTY_INPUT
Pt_ARG_TTY_INPUT_WRITTEN (read-only)
Pt_ARG_TTY_PATH
Pt_ARG_TTY_PID
Pt_ARG_TTY_PRI
Pt_ARG_TTY_PSEUDO
Pt_ARG_TTY_RFD
Pt_ARG_TTY_SFD
Pt_ARG_TTY_SPAWN_OPTIONS
Pt_ARG_TTY_WFD
Pt_CB_TTY_DEVSIZE
Pt_CB_TTY_OUTPUT
Pt_CB_TTY_TERMINATED
PtTtyShell
PtUpDown
Pt_ARG_ARM_COLOR
Pt_ARG_ORIENTATION
Pt_ARG_SPACING
Pt_ARG_UPDOWN_ARM_DATA_DECREMENT
Pt_ARG_UPDOWN_ARM_DATA_INCREMENT
Pt_ARG_UPDOWN_BORDER_WIDTH
Pt_ARG_UPDOWN_DATA_DECREMENT
Pt_ARG_UPDOWN_DATA_INCREMENT
Pt_ARG_UPDOWN_FLAGS
Pt_ARG_UPDOWN_INDICATOR_MARGIN
Pt_CB_ACTIVATE, Pt_CB_ARM, Pt_CB_DISARM, Pt_CB_REPEAT
PtWebClient
Starting the server
Migrating from libPtWeb.so.2 to libPtWeb.so.3
Pt_ARG_WEB_ACTIVATE_LINK (key mode only)
Pt_ARG_WEB_AUTHENTICATE
Pt_ARG_WEB_BUILD_DATE (read only)
Pt_ARG_WEB_COMMAND (write only)
Pt_ARG_WEB_DATA (write only)
Pt_ARG_WEB_DOWNLOAD (write only)
Pt_ARG_WEB_ENCODING
Pt_ARG_WEB_GET_CERTIFICATES (read only)
Pt_ARG_WEB_GET_CONTEXT (read only)
Pt_ARG_WEB_GET_HISTORY (read only)
Pt_ARG_WEB_GET_URL (write only)
Pt_ARG_WEB_HELPER (write only)
Pt_ARG_WEB_H_ERRNO
Pt_ARG_WEB_IMPORT_CERTIFICATE
Pt_ARG_WEB_NAVIGATE_FRAME
Pt_ARG_WEB_NAVIGATE_LINK
Pt_ARG_WEB_NAVIGATE_PAGE
Pt_ARG_WEB_OPTION
HTML Options
HTTP cookie options
Authentication options
FTP options
Gopher options
HTTP options
File options
Image options
Print options
SOCKS options
TCP/IP options
Disk-cache options
Miscellaneous options
NetFront-specific options
Pt_ARG_WEB_PRINT (write-only)
Pt_ARG_WEB_RELOAD (write only)
Pt_ARG_WEB_SERVER
Pt_ARG_WEB_SERVER_PID (read only)
Pt_ARG_WEB_SSL_RESPONSE
Pt_ARG_WEB_STARTUP_ERRNO (read only)
Pt_ARG_WEB_STOP (write only)
Pt_ARG_WEB_UNKNOWN_RESP (write-only)
Pt_ARG_WEB_VERSION (read only)
Pt_CB_WEB_AUTHENTICATE
Pt_CB_WEB_CLOSE_WINDOW
Pt_CB_WEB_COMPLETE
Pt_CB_WEB_CONTEXT
Pt_CB_WEB_DATA_REQ
Pt_CB_WEB_DOWNLOAD
Pt_CB_WEB_ERROR
Pt_CB_WEB_IMPORT_CERTIFICATE
Pt_CB_WEB_METADATA
Pt_CB_WEB_NEED_SCROLL (key mode only)
Pt_CB_WEB_NEW_WINDOW
Pt_CB_WEB_PAGE_INFO
Pt_CB_WEB_SSL_CERTINFO
Pt_CB_WEB_SSL_CERTNONTRUSTED
Pt_CB_WEB_SSL_CLIENT_CERT_SELECT
Pt_CB_WEB_SSL_ERROR
Pt_CB_WEB_START
Pt_CB_WEB_STATUS
Pt_CB_WEB_UNKNOWN
Pt_CB_WEB_URL
PtWidget
Geometry
Storing arbitrary user data
Pt_ARG_ANCHOR_FLAGS
Pt_ARG_ANCHOR_OFFSETS
Pt_ARG_AREA
Pt_ARG_BEVEL_WIDTH
Pt_ARG_BITMAP_CURSOR
Pt_ARG_CURSOR_COLOR
Pt_ARG_CURSOR_TYPE
Pt_ARG_DATA
Pt_ARG_DIM
Pt_ARG_EFLAGS
Pt_ARG_EXTENT
Pt_ARG_FLAGS
Pt_ARG_GRID_LAYOUT_DATA
Pt_ARG_HEIGHT
Pt_ARG_HELP_TOPIC
Pt_ARG_LAYOUT_DATA
Pt_ARG_MAXIMUM_DIM
Pt_ARG_MINIMUM_DIM
Pt_ARG_POINTER
Pt_ARG_POS
Pt_ARG_RESIZE_FLAGS
Pt_ARG_ROW_LAYOUT_DATA
Pt_ARG_USER_DATA
Pt_ARG_WIDTH
Pt_CB_BLOCKED
Pt_CB_DESTROYED
Pt_CB_DND
Pt_CB_FILTER
Pt_CB_HOTKEY
Pt_CB_IS_DESTROYED
Pt_CB_OUTBOUND
Pt_CB_RAW
Pt_CB_REALIZED
Pt_CB_UNREALIZED
PtWindow
Interacting with the Window Manager
Setting the window's title
Controlling the decorations
Controlling window resizing
Enabling Window Manager functions
Notifying the application
Creating subwindows
Pt_ARG_MAX_HEIGHT
Pt_ARG_MAX_WIDTH
Pt_ARG_MIN_HEIGHT
Pt_ARG_MIN_WIDTH
Pt_ARG_WINDOW_ACTIVE_COLOR
Pt_ARG_WINDOW_FLAGS
Pt_ARG_WINDOW_FRONT_WINDOW
Pt_ARG_WINDOW_HELP_ROOT
Pt_ARG_WINDOW_INACTIVE_COLOR
Pt_ARG_WINDOW_MANAGED_FLAGS
Pt_ARG_WINDOW_NOTIFY_FLAGS
Pt_ARG_WINDOW_RENDER_FLAGS
Pt_ARG_WINDOW_STATE
Pt_ARG_WINDOW_TITLE
Pt_ARG_WINDOW_TITLE_COLOR
Pt_CB_WINDOW
Pt_CB_WINDOW_CLOSING
Pt_CB_WINDOW_OPENING
Pt_CB_WINDOW_TRANSPORT
PtWindowFocus
PtWindowGetState
PtWindowToBack
PtWindowToFront
What's New
What's new in Photon for QNX Neutrino 6.5.0
Changes
Errata
What's new in Photon for QNX Neutrino 6.4
Changes
PtPrintSel
PtFileSel
What's new in Photon for QNX Neutrino 6.3 Service Pack 1
New widgets
Changes
PtGenList
PtBasic
PtWindow
What's new in Photon for QNX Neutrino 6.3
New widgets
Changes
PtBasic
PtContainer
PtFontSel
PtLabel
PtSeparator
PtTerminal
PtTree
PtWebClient
PtWidget
What's new in Photon for QNX Neutrino 6.2.1
Changes
PtGraphics
Errata
What's new in Photon for QNX Neutrino 6.2.0
PtBasic
PtFontSel
PtGenList
PtMultiText
PtOSContainer
PtSlider
PtTerminal
PtText
PtTty
What's new in Photon for QNX Neutrino 6.1.0
PtGroup
PtMenu
PtNumericFloat
PtNumericInteger
What's new in Photon for QNX Neutrino 6.0
New widgets
Deprecated widgets
Other changes
PtBasic
PtBezier
PtBkgd
PtButton
PtComboBox
PtContainer
PtFileSel
PtFontSel
PtGenList
PtGauge
PtGenTree
PtGraphic
PtGrid
PtLabel
PtMenuButton
PtMultiText
PtNumeric
PtNumericInteger
PtPolygon
PtPrintSel
PtRaw
PtRegion
PtScrollArea
PtScrollbar
PtSlider
PtTerminal
PtText
PtTimer
PtToggleButton
PtTree
PtTty
PtWidget
PtWindow
Glossary
Keyword Index
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
R
S
T
U
V
W
X
Building Custom Widgets
About This Manual
Typographical conventions
Note to Windows users
Technical support
Overview
Subclassing widgets
Design considerations
A quick look at a widget
Widget header file
Instance structure members
Widget source file
Class structure members
Types of widgets
Class hierarchy
Basic widgets
Container widgets
Compound widgets
Life Cycle of a Widget
All widgets
Basic widgets
Instantiating the widget
Creating and initializing the widget class
Setting default values
Setting application resources
Realizing a widget instance
Processing methods
Initialization method
Extent method
Connection method
Realization method
Draw method
After realizing a widget
Destroying a widget
Unrealization method
Destruction method
Other methods
Container widgets
Child constraints
Child redirection
Compound widgets
Exporting subordinate widgets
Anatomy of a Widget
Defining resources
Resource manifests
PtResourceRec_t resource records
type member
mod_f member
query_f member
arg_value and arg_len members
Scalar resources
Flags resources
String resources
Struct resources
Pointer resources
Alloc resources
Link resources
Callback resources
Boolean resources
Array resources
Image resources
Examples
Defining the widget class
Widget class structure
Widget class structure description
Widget class resource table
PtBasic class resource additions
Class methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Using the Pg library safely
Unrealization method
Destruction method
Set Resources method
Get Resources method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Widget actions
Raw callback list
Container widget anatomy
Child-constraint support
Child Created method
Child Realizing method
Child Realized method
Child Moved/Resized method
Child Unrealizing method
Child Unrealized method
Child Destroyed method
Child Setting Resource method
Child Getting Resource method
Child Getting Focus method
Child Losing Focus method
Child Redirection method
Fundamental methods
Defaults method
Extent method
Realization method
Compound widget anatomy
Blocking resources
Compound redirection
Fundamental methods
Defaults method
Realization method
Get Resources and Set Resources methods
Destruction method
Using Widget Superclasses
PtWidget
Class hierarchy
Class flags
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Unrealization method
Destruction method
Widget actions
Resource definitions
Functions
PtBasic
Class hierarchy
Class extensions
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Widget actions
Resource definitions
Functions
PtContainer
Class hierarchy
Class extensions
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Child Created method
Child Realized/Unrealized method
Child Moved/Resized method
Child Destroyed method
Child Setting Resources method
Child Getting Resources method
Child Getting Focus method
Child Losing Focus method
Widget actions
Resource definitions
Functions
PtCompound
Class hierarchy
Class extensions
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Widget actions
Resource definitions
Functions
PtGenList
Class hierarchy
Class extensions
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Child Created method
Child Realized method
Child Moved/Resized method
Child Unrealized method
Child Destroyed method
Child Setting Resources method
Child Getting Resources method
Child Getting Focus method
Child Losing Focus method
List Draw method
List Mouse method
List Key method
List Select method
List Inflate method
List Attributes method
Widget actions
Resource definitions
Functions
PtGenTree
Class hierarchy
Class extensions
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Child Created method
Child Realized method
Child Moved/Resized method
Child Unrealized method
Child Destroyed method
Child Setting Resources method
Child Getting Resources method
Child Getting Focus method
Child Losing Focus method
List Draw method
List Mouse method
List Key method
Tree Draw Item method
Tree Item State method
Widget actions
Resource definitions
Functions
PtLabel
Class hierarchy
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Got focus method
Lost Focus method
Calc Opaque Rect method
Widget actions
Resource definitions
Functions
PtGraphic
Class hierarchy
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Widget actions
Resource definitions
Functions
PtGauge
Class hierarchy
Methods
Defaults method
Initialization method
Extent method
Connection method
Realization method
Draw method
Unrealization method
Destruction method
Got Focus method
Lost Focus method
Calc Opaque Rect method
Widget actions
Resource definitions
Functions
Creating a List Widget
Overview
Item structure
Widget instance structure
Methods
List Draw method
List Mouse method
List Key method
List Select method
List Inflate method
List Attributes method
Convenience functions
PtSuperClassGenListDraw
PtSuperClassGenListInflate
PtSuperClassGenListKey
PtSuperClassGenListMouse
PtSuperClassGenListSelect
Creating a Tree Widget
Overview
Item structure
Methods
Tree Draw Item method
Tree Item State method
Convenience functions
PtSuperClassGenTreeDrawItem
PtSuperClassGenTreeItemState
Binding Widgets into PhAB
Widget design considerations
Single-value resources
When to add custom widgets to palette files
Displaying your custom widget
Creating a shared object
Creating a template
Editing palette.def
Creating a widget description table
Widget class name (w=)
Widget hierarchy (h=)
List of resources (r=)
Option and flag pairs
Pointer-to-function resources
List of callbacks (c=, k=, e=)
Inherited resources and callbacks (i=, n=)
Base widget (b=)
Change class definition (q=)
Create-type definition (t=)
Cursor styles (s=)
Default values (d=)
Widget Building Library API
PtAddWidgetData
PtAnchorDeregister
PtAnchorRegister
PtAnchorWidget
PtApplyAnchors
PtAttemptResize
PtCalcAnchorOffsets
PtCalcRegion
PtChildBoundingBox
PtClipAdd
PtClipRemove
PtCompoundRedirect
PtCoreChangeRegion
PtCreateWidgetClass
PtDamageExposed
PtDestroyCallbackList
PtDestroyHotkeyCallbacks
PtDestroyRawCallbacks
PtFindNextWidgetData
PtFindResource
PtFindWidgetData
PtGetCallbackList
PtGetStruct
PtInvokeCallbackList
PtInvokeCallbackType
PtInvokeResizeCallbacks
PtMoveResizeWidget
PtRemoveWidgetData
PtResizeCanvas
PtResizePolicy
PtSetExtentFromArea
PtSetStruct
PtSetValue
PtSuperClassCalcOpaque
PtSuperClassChildCreated
PtSuperClassChildDestroyed
PtSuperClassChildGettingFocus
PtSuperClassChildGettingResources
PtSuperClassChildLosingFocus
PtSuperClassChildMovedResized
PtSuperClassChildRealized
PtSuperClassChildSettingResources
PtSuperClassChildUnrealized
PtSuperClassConnect, PtSuperClassConnectFrom
PtSuperClassDraw
PtSuperClassExtent
PtSuperClassGetResources
PtSuperClassGotFocus
PtSuperClassInit, PtSuperClassInitFrom
PtSuperClassLostFocus
PtSuperClassRawEvent, PtSuperClassRawEventFrom
PtSuperClassRealized
PtSuperClassSetResources
PtUpdateVisibility
PtWidgetAbove
Creating Custom Resource Editors
Resource datatypes
Resource datatypes general notes
RES_DATATYPE_ALLOC
An example of implementing RES_DATATYPE_ALLOC
RES_DATATYPE_CHOICE
RES_DATATYPE_CODE
RES_DATATYPE_COLOR
RES_DATATYPE_DOUBLE
RES_DATATYPE_FLAG
RES_DATATYPE_FONT
RES_DATATYPE_LIST
RES_DATATYPE_MULTI
RES_DATATYPE_NUMERIC
RES_DATATYPE_PATTERN
RES_DATATYPE_PIXMAP
RES_DATATYPE_STRING
The life cycle of a plugin instance
The frugal resource editor
The full resource editor
An external application resource editor
The res_editors.def file
Endian issues
The resource editor API
Resource Editor API structures
Functions exported from PhAB
The resource editor's window supporting functions
PhABResExportCommon_t.alloc_image
PhABResExportCommon_t.alloc_mem
PhABResExportFull_t.answer_changes
PhABResExportCommon_t.apply
PhABResExportFull_t.closing
PhABResExportCommon_t.cmp
PhABResExportFull_t.create_window
PhABResExportFull_t.destroy
PhABResExportCommon_t.dup
PhABResExportCommon_t.free
PhABResExportCommon_t.free_image
PhABResExportCommon_t.free_mem
PhABResExportFull_t.get_area
PhABResExportCommon_t.get_res
PhABResExportCommon_t.message
PhABResExportFrugal_t.open
PhABResExportCommon_t
PhABResExportFrugal_t
PhABResExportFull_t
ResPlugin_t
ResPluginAnyChangesF_t
Arguments:
Should return:
ResPluginBlockF_t
Arguments:
ResPluginCommon_t
ResPluginDestroyF_t
Arguments:
ResPluginDisableF_t
Arguments:
ResPluginFrugalCreateF_t
Arguments:
Should return:
ResPluginFrugalEditor_t
ResPluginFullCreateF_t
Arguments:
Should return:
ResPluginFullEditor_t
ResPluginGetAreaF_t
Arguments:
ResPluginGetChangesF_t
Arguments:
ResPluginLoadingF_t
Arguments:
Should return:
ResPluginSetDataF_t
Arguments:
ResPluginToFrontF_t
Arguments:
ResPluginUnloadingF_t
PhABResExportFull_t.set_state
PhABResExportFull_t.to_front
Resource editor plugin examples
A string editor
An external editor
Miscellaneous Widget-Building Tips
What's New
What's new in Photon for QNX Neutrino 6.3.0 Service Pack 1
What's new in Photon for QNX Neutrino 6.3
Resource editor plugin API
What's new in Photon for QNX Neutrino 6.2.1
Errata
What's new in Photon for QNX Neutrino 6.2.0
Overview
Anatomy of a Widget
Creating a List Widget
Creating a Tree Widget
Binding Widgets into PhAB
Widget Building Library API
Miscellaneous Widget-Building Tips
Glossary
Keyword Index
A
B
C
D
E
F
G
H
I
L
M
P
R
S
T
U
W
QNX Video Capture
Video Capture Developer's Guide
Header files and libraries
Implementing video capture
Sample video capture program
Properties applied to arrays
Contexts
Buffers
Platform-specific considerations
Video Capture Library Reference (capture.h)
Properties
Data bus, data lane, and clock
Capture interface type
Definitions
Debugging
Deinterlacing
Capture deinterlacing mode types
Definitions
Destination buffer
Driver and device
Capture no signal mode types
Definitions
External source
Threads
I2C decoder path and slave address
Polarity
Source
capture_color_space
Definitions
Video capture behavior
Video standards
Video frame
capture_context_t
capture_create_buffers()
capture_create_context()
capture_destroy_context()
capture_get_frame()
capture_get_free_buffer()
capture_get_property_i()
capture_get_property_p()
capture_is_property()
capture_put_buffer()
capture_release_frame()
capture_set_property_i()
capture_set_property_p()
capture_update()
Helper macros
Technical Notes for Patches
diskimage (Patch ID 4245)
diskimage
configuration file
Grammar
Disk configuration
Partition configuration
Supported short type names for GUID partitions
Examples
mkfatfsimg
(Patch ID 4392)
mkqnx6fsimg
(Patch ID 4392)
QNX Platform for ADAS 1.0
Getting Started
About the
QNX Platform for ADAS
Supported hardware configurations
Supported vision algorithms
Install and Boot a Reference Image
Download a reference image
Transfer an image to a target
Configure hardware and boot a reference image
Use the Reference Image
Configure cameras on the reference image
Modify the system to run a custom application
Run Sample Applications
Camera MUX 2x2
Camera example
Pedestrian detection
Surround view
Run SOME/IP Tests
Troubleshoot Common Issues with Reference Image
Architecture
Architecture Overview
Vision Platform and Service Components
SOME/IP
AUTOSAR and AUTOSAR Adaptation Layer (Experimental)
QNX Neutrino RTOS and Hardware Platforms
Applications for the
QNX Platform for ADAS
Vision Platform
Camera Framework Developer's Guide
Viewfinder Mode
Settings on the Camera
Image Buffer Access
Using callback mode
Using event mode
Using stream mode
Synchronized Recording
Resource Management
Camera Framework Library Reference
camera_api.h
Definitions in
camera_api.h
Camera access mode
camera_analog_video_standard_t
camera_audiocodec_t
camera_bayerformat_t
camera_bayerjustify_t
camera_buffer_t
camera_devstatus_t
camera_error_t
camera_eventkey_t
camera_eventmode_t
camera_feature_t
camera_framedesc_t
camera_frametype_t
camera_frame_bayer_t
camera_frame_crycby_t
camera_frame_cbycry_t
camera_frame_compressedaudio_t
camera_frame_compressedvideo_t
camera_frame_gray8_t
camera_frame_jpeg_t
camera_frame_meta_t
camera_frame_nv12_t
camera_frame_rgb565_t
camera_frame_rgb8888_t
camera_frame_rgb888_t
camera_frame_roi_t
camera_frame_ycbcr420p_t
camera_frame_ycbycr_t
camera_frame_ycrycb_t
camera_frame_unspecified_t
camera_imgprop_t
camera_handle_t
camera_location_prop_t
camera_physprop_t
camera_powerdownreason_t
camera_region_t
camera_res_t
camera_roll_video_fmt_t
camera_unit_t
camera_vfmode_t
camera_videocodec_t
camera_video_group_id_t
camera_add_video_group_entry()
camera_can_feature()
camera_close()
camera_create_video_group()
camera_deregister_resource()
camera_destroy_video_group()
camera_disable_event()
camera_enable_status_event()
camera_enable_video_event()
camera_enable_viewfinder_event()
camera_find_capable()
camera_force_video_keyframe()
camera_get_analog_video_standard()
camera_get_api_version()
camera_get_brightness()
camera_get_capture_property()
camera_get_contrast()
camera_get_filename()
camera_get_hue()
camera_get_location_property()
camera_get_physical_property()
camera_get_saturation()
camera_get_sharpness()
camera_get_specified_vf_resolutions()
camera_get_specified_vf_framerates()
camera_get_status_details()
camera_get_supported_brightness()
camera_get_supported_cameras()
camera_get_supported_contrast()
camera_get_supported_hue()
camera_get_supported_saturation()
camera_get_supported_sharpness()
camera_get_supported_vf_frame_types()
camera_get_supported_vf_framerates()
camera_get_supported_vf_modes()
camera_get_supported_vf_resolutions()
camera_get_supported_vf_rotations()
camera_get_vf_mode()
camera_get_vf_property()
camera_get_video_buffers()
camera_get_video_frame_types()
camera_get_video_output_resolutions()
camera_get_video_property()
camera_get_video_rotations()
camera_get_viewfinder_buffers()
camera_get_zoom_limits()
camera_get_zoom_ratio_from_zoom_level()
camera_has_feature()
camera_init_video_encoder()
camera_is_audiocodec_supported()
camera_is_videocodec_supported()
camera_open()
camera_register_resource()
camera_remove_video_group_entry()
camera_return_buffer()
camera_roll_available_video()
camera_roll_close_video()
camera_roll_get_path()
camera_roll_open_video()
camera_roll_set_path()
camera_set_analog_video_standard()
camera_set_brightness()
camera_set_capture_property()
camera_set_contrast()
camera_set_filename()
camera_set_hue()
camera_set_saturation()
camera_set_sharpness()
camera_set_vf_mode()
camera_set_vf_property()
camera_set_video_filesize_warning()
camera_set_video_filesize_limit()
camera_set_video_property()
camera_start_encode()
camera_start_video()
camera_start_video_group()
camera_start_viewfinder()
camera_stop_encode()
camera_stop_video()
camera_stop_video_group()
camera_stop_viewfinder()
camera_encoder.h
camera_get_supported_videoencoder_parameter_values()
camera_private_set_videoencoder_parameter()
camera_private_get_videoencoder_parameter()
camera_get_videoencoder_parameter()
camera_set_videoencoder_parameter()
camera_h264avc.h
camera_h264avc_entropycoding_t
camera_h264avc_level_t
camera_h264avc_parameters_t
camera_h264avc_profile_t
camera_h264avc_ratecontrol_t
camera_h264avc_slicetype_t
camera_3a.h
camera_3a_t
camera_exposuremode_t
camera_focusmode_t
camera_focusstate_t
camera_whitebalancemode_t
camera_get_3a_lock_modes()
camera_get_ev_offset()
camera_get_exposure_mode()
camera_get_exposure_modes()
camera_get_exposure_regions()
camera_get_focus_mode()
camera_get_focus_modes()
camera_get_focus_regions()
camera_get_focus_state()
camera_get_manual_aperture()
camera_get_manual_focus_step()
camera_get_manual_iso()
camera_get_manual_shutter_speed()
camera_get_manual_white_balance()
camera_get_manual_white_balance_rb_gain()
camera_get_supported_ev_offsets()
camera_get_supported_manual_aperture_values()
camera_get_supported_manual_iso_values()
camera_get_supported_manual_shutter_speeds()
camera_get_supported_manual_white_balance_values()
camera_get_supported_manual_white_balance_rb_gain()
camera_get_whitebalance_mode()
camera_get_whitebalance_modes()
camera_get_whitebalance_regions()
camera_set_3a_lock()
camera_set_ev_offset()
camera_set_exposure_mode()
camera_set_exposure_regions()
camera_set_manual_aperture()
camera_set_manual_focus_step()
camera_set_manual_iso()
camera_set_manual_shutter_speed()
camera_set_manual_white_balance()
camera_set_manual_white_balance_rb_gain()
camera_set_whitebalance_mode()
camera_set_whitebalance_regions()
Working with Target Images
Generating a Target Image
Prepare the work environment
Generate the image
Image Generation and Assembly
The
mksysimage
process
Artifacts
Modifying Content
Workspace directories
Configuration files
Content files, directories, and symbolic links
Users and groups
Filesets
Profiles
Search paths
Configuring Partitions and Images
Partition and image sizes
Build files
Utility Scripts
mksysimage
mkworkspace.py
qnx*-env
Troubleshooting
Boot optimization
About The System Startup Sequence
Optimizing bootup time
Configure a Primary and Secondary IFS on the System
Optimize the
Screen
Configuration File
Optimize the Boot Script
Optimize SLM Configuration Files
Optimize your Camera Application
Measuring Boot Times
The
boot_metrics.log
file
Measuring the time to copy from flash to RAM
Other System Optimization Practices
Optimize the bootloader
Use the optimized image scan functions
Generic techniques to reduce the size of the IFS
Reduce the size of the startup program
Remove unnecessary debug printing
Optimize use of system and secondary disks
Use compression strategies
Reorder the startup program
Make careful use of the default boot script
Consider the placement of
waitfor
statements
System Services
Camera (
camera
)
Camera configuration file
SOME/IP
Run SOME/IP tests on target
Use SOME/IP with applications
Use SOME/IP on the Atom C2000 board
System Launch and Monitor (
slm
)
Typographical Conventions, Support, and Licensing
Typographical conventions
Technical support
Licensing information
Your browser does not support iframes.