Full Code of EchoStretch/kstuff for AI

elfldr-compatability d44a25400ecf cached
2152 files
17.3 MB
4.6M tokens
30354 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (18,509K chars total). Download the full file to get everything.
Repository: EchoStretch/kstuff
Branch: elfldr-compatability
Commit: d44a25400ecf
Files: 2152
Total size: 17.3 MB

Directory structure:
gitextract_hyp4ebkl/

├── .github/
│   └── workflows/
│       └── ci.yml
├── .gitmodules
├── ci-ps5-kstuff-ldr.sh
├── freebsd-headers/
│   ├── Block.h
│   ├── Block_private.h
│   ├── FlexLexer.h
│   ├── _ctype.h
│   ├── a.out.h
│   ├── alias.h
│   ├── altq/
│   │   ├── altq.h
│   │   ├── altq_cbq.h
│   │   ├── altq_cdnr.h
│   │   ├── altq_classq.h
│   │   ├── altq_hfsc.h
│   │   ├── altq_priq.h
│   │   ├── altq_red.h
│   │   ├── altq_rio.h
│   │   ├── altq_rmclass.h
│   │   ├── altq_rmclass_debug.h
│   │   ├── altq_var.h
│   │   ├── altqconf.h
│   │   └── if_altq.h
│   ├── ar.h
│   ├── archive.h
│   ├── archive_entry.h
│   ├── arpa/
│   │   ├── ftp.h
│   │   ├── inet.h
│   │   ├── nameser.h
│   │   ├── nameser_compat.h
│   │   ├── telnet.h
│   │   └── tftp.h
│   ├── asn1_err.h
│   ├── assert.h
│   ├── bitstring.h
│   ├── bluetooth.h
│   ├── bsdxml.h
│   ├── bsdxml_external.h
│   ├── bsm/
│   │   ├── audit.h
│   │   ├── audit_domain.h
│   │   ├── audit_errno.h
│   │   ├── audit_fcntl.h
│   │   ├── audit_internal.h
│   │   ├── audit_kevents.h
│   │   ├── audit_record.h
│   │   ├── audit_socket_type.h
│   │   ├── audit_uevents.h
│   │   └── libbsm.h
│   ├── bsnmp/
│   │   ├── asn1.h
│   │   ├── bridge_snmp.h
│   │   ├── snmp.h
│   │   ├── snmp_atm.h
│   │   ├── snmp_mibII.h
│   │   ├── snmp_netgraph.h
│   │   ├── snmpagent.h
│   │   ├── snmpclient.h
│   │   └── snmpmod.h
│   ├── bzlib.h
│   ├── c++/
│   │   └── 4.2/
│   │       ├── algorithm
│   │       ├── backward/
│   │       │   ├── algo.h
│   │       │   ├── algobase.h
│   │       │   ├── alloc.h
│   │       │   ├── backward_warning.h
│   │       │   ├── bvector.h
│   │       │   ├── complex.h
│   │       │   ├── defalloc.h
│   │       │   ├── deque.h
│   │       │   ├── fstream.h
│   │       │   ├── function.h
│   │       │   ├── hash_map.h
│   │       │   ├── hash_set.h
│   │       │   ├── hashtable.h
│   │       │   ├── heap.h
│   │       │   ├── iomanip.h
│   │       │   ├── iostream.h
│   │       │   ├── istream.h
│   │       │   ├── iterator.h
│   │       │   ├── list.h
│   │       │   ├── map.h
│   │       │   ├── multimap.h
│   │       │   ├── multiset.h
│   │       │   ├── new.h
│   │       │   ├── ostream.h
│   │       │   ├── pair.h
│   │       │   ├── queue.h
│   │       │   ├── rope.h
│   │       │   ├── set.h
│   │       │   ├── slist.h
│   │       │   ├── stack.h
│   │       │   ├── stream.h
│   │       │   ├── streambuf.h
│   │       │   ├── strstream
│   │       │   ├── tempbuf.h
│   │       │   ├── tree.h
│   │       │   └── vector.h
│   │       ├── bits/
│   │       │   ├── allocator.h
│   │       │   ├── atomic_word.h
│   │       │   ├── basic_file.h
│   │       │   ├── basic_ios.h
│   │       │   ├── basic_ios.tcc
│   │       │   ├── basic_string.h
│   │       │   ├── basic_string.tcc
│   │       │   ├── boost_concept_check.h
│   │       │   ├── c++allocator.h
│   │       │   ├── c++config.h
│   │       │   ├── c++io.h
│   │       │   ├── c++locale.h
│   │       │   ├── c++locale_internal.h
│   │       │   ├── char_traits.h
│   │       │   ├── cmath.tcc
│   │       │   ├── codecvt.h
│   │       │   ├── compatibility.h
│   │       │   ├── concept_check.h
│   │       │   ├── cpp_type_traits.h
│   │       │   ├── cpu_defines.h
│   │       │   ├── ctype_base.h
│   │       │   ├── ctype_inline.h
│   │       │   ├── ctype_noninline.h
│   │       │   ├── cxxabi_tweaks.h
│   │       │   ├── deque.tcc
│   │       │   ├── fstream.tcc
│   │       │   ├── functexcept.h
│   │       │   ├── gslice.h
│   │       │   ├── gslice_array.h
│   │       │   ├── gthr-default.h
│   │       │   ├── gthr-posix.h
│   │       │   ├── gthr-single.h
│   │       │   ├── gthr-tpf.h
│   │       │   ├── gthr.h
│   │       │   ├── indirect_array.h
│   │       │   ├── ios_base.h
│   │       │   ├── istream.tcc
│   │       │   ├── list.tcc
│   │       │   ├── locale_classes.h
│   │       │   ├── locale_facets.h
│   │       │   ├── locale_facets.tcc
│   │       │   ├── localefwd.h
│   │       │   ├── mask_array.h
│   │       │   ├── messages_members.h
│   │       │   ├── os_defines.h
│   │       │   ├── ostream.tcc
│   │       │   ├── ostream_insert.h
│   │       │   ├── postypes.h
│   │       │   ├── slice_array.h
│   │       │   ├── sstream.tcc
│   │       │   ├── stl_algo.h
│   │       │   ├── stl_algobase.h
│   │       │   ├── stl_bvector.h
│   │       │   ├── stl_construct.h
│   │       │   ├── stl_deque.h
│   │       │   ├── stl_function.h
│   │       │   ├── stl_heap.h
│   │       │   ├── stl_iterator.h
│   │       │   ├── stl_iterator_base_funcs.h
│   │       │   ├── stl_iterator_base_types.h
│   │       │   ├── stl_list.h
│   │       │   ├── stl_map.h
│   │       │   ├── stl_multimap.h
│   │       │   ├── stl_multiset.h
│   │       │   ├── stl_numeric.h
│   │       │   ├── stl_pair.h
│   │       │   ├── stl_queue.h
│   │       │   ├── stl_raw_storage_iter.h
│   │       │   ├── stl_relops.h
│   │       │   ├── stl_set.h
│   │       │   ├── stl_stack.h
│   │       │   ├── stl_tempbuf.h
│   │       │   ├── stl_tree.h
│   │       │   ├── stl_uninitialized.h
│   │       │   ├── stl_vector.h
│   │       │   ├── stream_iterator.h
│   │       │   ├── streambuf.tcc
│   │       │   ├── streambuf_iterator.h
│   │       │   ├── stringfwd.h
│   │       │   ├── time_members.h
│   │       │   ├── valarray_after.h
│   │       │   ├── valarray_array.h
│   │       │   ├── valarray_array.tcc
│   │       │   ├── valarray_before.h
│   │       │   └── vector.tcc
│   │       ├── bitset
│   │       ├── cassert
│   │       ├── cctype
│   │       ├── cerrno
│   │       ├── cfloat
│   │       ├── ciso646
│   │       ├── climits
│   │       ├── clocale
│   │       ├── cmath
│   │       ├── complex
│   │       ├── csetjmp
│   │       ├── csignal
│   │       ├── cstdarg
│   │       ├── cstddef
│   │       ├── cstdio
│   │       ├── cstdlib
│   │       ├── cstring
│   │       ├── ctime
│   │       ├── cwchar
│   │       ├── cwctype
│   │       ├── cxxabi.h
│   │       ├── debug/
│   │       │   ├── bitset
│   │       │   ├── debug.h
│   │       │   ├── deque
│   │       │   ├── formatter.h
│   │       │   ├── functions.h
│   │       │   ├── hash_map
│   │       │   ├── hash_map.h
│   │       │   ├── hash_multimap.h
│   │       │   ├── hash_multiset.h
│   │       │   ├── hash_set
│   │       │   ├── hash_set.h
│   │       │   ├── list
│   │       │   ├── macros.h
│   │       │   ├── map
│   │       │   ├── map.h
│   │       │   ├── multimap.h
│   │       │   ├── multiset.h
│   │       │   ├── safe_base.h
│   │       │   ├── safe_iterator.h
│   │       │   ├── safe_iterator.tcc
│   │       │   ├── safe_sequence.h
│   │       │   ├── set
│   │       │   ├── set.h
│   │       │   ├── string
│   │       │   └── vector
│   │       ├── deque
│   │       ├── exception
│   │       ├── exception_defines.h
│   │       ├── ext/
│   │       │   ├── algorithm
│   │       │   ├── array_allocator.h
│   │       │   ├── atomicity.h
│   │       │   ├── bitmap_allocator.h
│   │       │   ├── codecvt_specializations.h
│   │       │   ├── concurrence.h
│   │       │   ├── debug_allocator.h
│   │       │   ├── functional
│   │       │   ├── hash_fun.h
│   │       │   ├── hash_map
│   │       │   ├── hash_set
│   │       │   ├── hashtable.h
│   │       │   ├── iterator
│   │       │   ├── malloc_allocator.h
│   │       │   ├── memory
│   │       │   ├── mt_allocator.h
│   │       │   ├── new_allocator.h
│   │       │   ├── numeric
│   │       │   ├── numeric_traits.h
│   │       │   ├── pb_ds/
│   │       │   │   ├── assoc_container.hpp
│   │       │   │   ├── detail/
│   │       │   │   │   ├── basic_tree_policy/
│   │       │   │   │   │   ├── basic_tree_policy_base.hpp
│   │       │   │   │   │   ├── null_node_metadata.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── basic_types.hpp
│   │       │   │   │   ├── bin_search_tree_/
│   │       │   │   │   │   ├── bin_search_tree_.hpp
│   │       │   │   │   │   ├── cond_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── cond_key_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── node_iterators.hpp
│   │       │   │   │   │   ├── point_iterators.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── r_erase_fn_imps.hpp
│   │       │   │   │   │   ├── rotate_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── binary_heap_/
│   │       │   │   │   │   ├── binary_heap_.hpp
│   │       │   │   │   │   ├── const_iterator.hpp
│   │       │   │   │   │   ├── const_point_iterator.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── entry_cmp.hpp
│   │       │   │   │   │   ├── entry_pred.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── resize_policy.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── binomial_heap_/
│   │       │   │   │   │   ├── binomial_heap_.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   └── debug_fn_imps.hpp
│   │       │   │   │   ├── binomial_heap_base_/
│   │       │   │   │   │   ├── binomial_heap_base_.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   └── split_join_fn_imps.hpp
│   │       │   │   │   ├── cc_hash_table_map_/
│   │       │   │   │   │   ├── cc_ht_map_.hpp
│   │       │   │   │   │   ├── cmp_fn_imps.hpp
│   │       │   │   │   │   ├── cond_key_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── debug_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── entry_list_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── erase_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── erase_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── find_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── insert_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── insert_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── resize_fn_imps.hpp
│   │       │   │   │   │   ├── resize_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── resize_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── size_fn_imps.hpp
│   │       │   │   │   │   ├── standard_policies.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── cond_dealtor.hpp
│   │       │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   ├── container_base_dispatch.hpp
│   │       │   │   │   ├── eq_fn/
│   │       │   │   │   │   ├── eq_by_less.hpp
│   │       │   │   │   │   └── hash_eq_fn.hpp
│   │       │   │   │   ├── gp_hash_table_map_/
│   │       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── debug_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── erase_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── erase_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── find_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── find_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── gp_ht_map_.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── insert_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── insert_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── iterator_fn_imps.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── resize_fn_imps.hpp
│   │       │   │   │   │   ├── resize_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── resize_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── standard_policies.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── hash_fn/
│   │       │   │   │   │   ├── direct_mask_range_hashing_imp.hpp
│   │       │   │   │   │   ├── direct_mod_range_hashing_imp.hpp
│   │       │   │   │   │   ├── linear_probe_fn_imp.hpp
│   │       │   │   │   │   ├── mask_based_range_hashing.hpp
│   │       │   │   │   │   ├── mod_based_range_hashing.hpp
│   │       │   │   │   │   ├── probe_fn_base.hpp
│   │       │   │   │   │   ├── quadratic_probe_fn_imp.hpp
│   │       │   │   │   │   ├── ranged_hash_fn.hpp
│   │       │   │   │   │   ├── ranged_probe_fn.hpp
│   │       │   │   │   │   ├── sample_probe_fn.hpp
│   │       │   │   │   │   ├── sample_range_hashing.hpp
│   │       │   │   │   │   ├── sample_ranged_hash_fn.hpp
│   │       │   │   │   │   └── sample_ranged_probe_fn.hpp
│   │       │   │   │   ├── left_child_next_sibling_heap_/
│   │       │   │   │   │   ├── const_iterator.hpp
│   │       │   │   │   │   ├── const_point_iterator.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── left_child_next_sibling_heap_.hpp
│   │       │   │   │   │   ├── node.hpp
│   │       │   │   │   │   ├── null_metadata.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── list_update_map_/
│   │       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── entry_metadata_base.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── lu_map_.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── list_update_policy/
│   │       │   │   │   │   ├── counter_lu_metadata.hpp
│   │       │   │   │   │   ├── counter_lu_policy_imp.hpp
│   │       │   │   │   │   ├── mtf_lu_policy_imp.hpp
│   │       │   │   │   │   └── sample_update_policy.hpp
│   │       │   │   │   ├── map_debug_base.hpp
│   │       │   │   │   ├── ov_tree_map_/
│   │       │   │   │   │   ├── cond_dtor.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── node_iterators.hpp
│   │       │   │   │   │   ├── ov_tree_map_.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── pairing_heap_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── pairing_heap_.hpp
│   │       │   │   │   │   └── split_join_fn_imps.hpp
│   │       │   │   │   ├── pat_trie_/
│   │       │   │   │   │   ├── child_iterator.hpp
│   │       │   │   │   │   ├── cond_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── const_child_iterator.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── head.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_join_fn_imps.hpp
│   │       │   │   │   │   ├── internal_node.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── leaf.hpp
│   │       │   │   │   │   ├── node_base.hpp
│   │       │   │   │   │   ├── node_iterators.hpp
│   │       │   │   │   │   ├── node_metadata_base.hpp
│   │       │   │   │   │   ├── pat_trie_.hpp
│   │       │   │   │   │   ├── point_iterators.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── r_erase_fn_imps.hpp
│   │       │   │   │   │   ├── rotate_fn_imps.hpp
│   │       │   │   │   │   ├── split_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_branch_bag.hpp
│   │       │   │   │   │   ├── synth_e_access_traits.hpp
│   │       │   │   │   │   ├── trace_fn_imps.hpp
│   │       │   │   │   │   ├── traits.hpp
│   │       │   │   │   │   └── update_fn_imps.hpp
│   │       │   │   │   ├── priority_queue_base_dispatch.hpp
│   │       │   │   │   ├── rb_tree_map_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── node.hpp
│   │       │   │   │   │   ├── rb_tree_.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── rc_binomial_heap_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── rc.hpp
│   │       │   │   │   │   ├── rc_binomial_heap_.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── resize_policy/
│   │       │   │   │   │   ├── cc_hash_max_collision_check_resize_trigger_imp.hpp
│   │       │   │   │   │   ├── hash_exponential_size_policy_imp.hpp
│   │       │   │   │   │   ├── hash_load_check_resize_trigger_imp.hpp
│   │       │   │   │   │   ├── hash_load_check_resize_trigger_size_base.hpp
│   │       │   │   │   │   ├── hash_prime_size_policy_imp.hpp
│   │       │   │   │   │   ├── hash_standard_resize_policy_imp.hpp
│   │       │   │   │   │   ├── sample_resize_policy.hpp
│   │       │   │   │   │   ├── sample_resize_trigger.hpp
│   │       │   │   │   │   └── sample_size_policy.hpp
│   │       │   │   │   ├── splay_tree_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── node.hpp
│   │       │   │   │   │   ├── splay_fn_imps.hpp
│   │       │   │   │   │   ├── splay_tree_.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── standard_policies.hpp
│   │       │   │   │   ├── thin_heap_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   ├── thin_heap_.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── tree_policy/
│   │       │   │   │   │   ├── node_metadata_selector.hpp
│   │       │   │   │   │   ├── null_node_update_imp.hpp
│   │       │   │   │   │   ├── order_statistics_imp.hpp
│   │       │   │   │   │   └── sample_tree_node_update.hpp
│   │       │   │   │   ├── tree_trace_base.hpp
│   │       │   │   │   ├── trie_policy/
│   │       │   │   │   │   ├── node_metadata_selector.hpp
│   │       │   │   │   │   ├── null_node_update_imp.hpp
│   │       │   │   │   │   ├── order_statistics_imp.hpp
│   │       │   │   │   │   ├── prefix_search_node_update_imp.hpp
│   │       │   │   │   │   ├── sample_trie_e_access_traits.hpp
│   │       │   │   │   │   ├── sample_trie_node_update.hpp
│   │       │   │   │   │   ├── string_trie_e_access_traits_imp.hpp
│   │       │   │   │   │   └── trie_policy_base.hpp
│   │       │   │   │   ├── type_utils.hpp
│   │       │   │   │   ├── types_traits.hpp
│   │       │   │   │   └── unordered_iterator/
│   │       │   │   │       ├── const_iterator.hpp
│   │       │   │   │       ├── const_point_iterator.hpp
│   │       │   │   │       ├── iterator.hpp
│   │       │   │   │       └── point_iterator.hpp
│   │       │   │   ├── exception.hpp
│   │       │   │   ├── hash_policy.hpp
│   │       │   │   ├── list_update_policy.hpp
│   │       │   │   ├── priority_queue.hpp
│   │       │   │   ├── tag_and_trait.hpp
│   │       │   │   ├── tree_policy.hpp
│   │       │   │   └── trie_policy.hpp
│   │       │   ├── pod_char_traits.h
│   │       │   ├── pool_allocator.h
│   │       │   ├── rb_tree
│   │       │   ├── rc_string_base.h
│   │       │   ├── rope
│   │       │   ├── ropeimpl.h
│   │       │   ├── slist
│   │       │   ├── sso_string_base.h
│   │       │   ├── stdio_filebuf.h
│   │       │   ├── stdio_sync_filebuf.h
│   │       │   ├── throw_allocator.h
│   │       │   ├── type_traits.h
│   │       │   ├── typelist.h
│   │       │   ├── vstring.h
│   │       │   ├── vstring.tcc
│   │       │   ├── vstring_fwd.h
│   │       │   └── vstring_util.h
│   │       ├── fstream
│   │       ├── functional
│   │       ├── iomanip
│   │       ├── ios
│   │       ├── iosfwd
│   │       ├── iostream
│   │       ├── istream
│   │       ├── iterator
│   │       ├── limits
│   │       ├── list
│   │       ├── locale
│   │       ├── map
│   │       ├── memory
│   │       ├── new
│   │       ├── numeric
│   │       ├── ostream
│   │       ├── queue
│   │       ├── set
│   │       ├── sstream
│   │       ├── stack
│   │       ├── stdexcept
│   │       ├── streambuf
│   │       ├── string
│   │       ├── tr1/
│   │       │   ├── array
│   │       │   ├── bind_iterate.h
│   │       │   ├── bind_repeat.h
│   │       │   ├── boost_shared_ptr.h
│   │       │   ├── cctype
│   │       │   ├── cfenv
│   │       │   ├── cfloat
│   │       │   ├── cinttypes
│   │       │   ├── climits
│   │       │   ├── cmath
│   │       │   ├── common.h
│   │       │   ├── complex
│   │       │   ├── cstdarg
│   │       │   ├── cstdbool
│   │       │   ├── cstdint
│   │       │   ├── cstdio
│   │       │   ├── cstdlib
│   │       │   ├── ctgmath
│   │       │   ├── ctime
│   │       │   ├── ctype.h
│   │       │   ├── cwchar
│   │       │   ├── cwctype
│   │       │   ├── fenv.h
│   │       │   ├── float.h
│   │       │   ├── functional
│   │       │   ├── functional_hash.h
│   │       │   ├── functional_iterate.h
│   │       │   ├── hashtable
│   │       │   ├── hashtable_policy.h
│   │       │   ├── inttypes.h
│   │       │   ├── limits.h
│   │       │   ├── math.h
│   │       │   ├── memory
│   │       │   ├── mu_iterate.h
│   │       │   ├── random
│   │       │   ├── random.tcc
│   │       │   ├── ref_fwd.h
│   │       │   ├── ref_wrap_iterate.h
│   │       │   ├── repeat.h
│   │       │   ├── stdarg.h
│   │       │   ├── stdbool.h
│   │       │   ├── stdint.h
│   │       │   ├── stdio.h
│   │       │   ├── stdlib.h
│   │       │   ├── tgmath.h
│   │       │   ├── tuple
│   │       │   ├── tuple_defs.h
│   │       │   ├── tuple_iterate.h
│   │       │   ├── type_traits
│   │       │   ├── type_traits_fwd.h
│   │       │   ├── unordered_map
│   │       │   ├── unordered_set
│   │       │   ├── utility
│   │       │   ├── wchar.h
│   │       │   └── wctype.h
│   │       ├── typeinfo
│   │       ├── utility
│   │       ├── valarray
│   │       └── vector
│   ├── calendar.h
│   ├── cam/
│   │   ├── ata/
│   │   │   └── ata_all.h
│   │   ├── cam.h
│   │   ├── cam_ccb.h
│   │   ├── cam_debug.h
│   │   ├── cam_periph.h
│   │   ├── cam_queue.h
│   │   ├── cam_sim.h
│   │   ├── cam_xpt.h
│   │   ├── cam_xpt_internal.h
│   │   ├── cam_xpt_periph.h
│   │   ├── cam_xpt_sim.h
│   │   └── scsi/
│   │       ├── scsi_all.h
│   │       ├── scsi_cd.h
│   │       ├── scsi_ch.h
│   │       ├── scsi_da.h
│   │       ├── scsi_dvcfg.h
│   │       ├── scsi_iu.h
│   │       ├── scsi_low.h
│   │       ├── scsi_low_pisa.h
│   │       ├── scsi_message.h
│   │       ├── scsi_pass.h
│   │       ├── scsi_pt.h
│   │       ├── scsi_sa.h
│   │       ├── scsi_ses.h
│   │       ├── scsi_sg.h
│   │       ├── scsi_targetio.h
│   │       └── smp_all.h
│   ├── camlib.h
│   ├── capstone/
│   │   ├── arm.h
│   │   ├── arm64.h
│   │   ├── capstone.h
│   │   ├── evm.h
│   │   ├── m680x.h
│   │   ├── m68k.h
│   │   ├── mips.h
│   │   ├── platform.h
│   │   ├── ppc.h
│   │   ├── sparc.h
│   │   ├── systemz.h
│   │   ├── tms320c64x.h
│   │   ├── x86.h
│   │   └── xcore.h
│   ├── clang/
│   │   └── 3.0/
│   │       ├── altivec.h
│   │       ├── avxintrin.h
│   │       ├── emmintrin.h
│   │       ├── immintrin.h
│   │       ├── mm3dnow.h
│   │       ├── mm_malloc.h
│   │       ├── mmintrin.h
│   │       ├── nmmintrin.h
│   │       ├── pmmintrin.h
│   │       ├── smmintrin.h
│   │       ├── tmmintrin.h
│   │       ├── wmmintrin.h
│   │       ├── x86intrin.h
│   │       └── xmmintrin.h
│   ├── cms_asn1.h
│   ├── com_err.h
│   ├── com_right.h
│   ├── complex.h
│   ├── cpio.h
│   ├── crypto/
│   │   ├── cast.h
│   │   ├── castsb.h
│   │   ├── cryptodev.h
│   │   ├── cryptosoft.h
│   │   ├── deflate.h
│   │   ├── rijndael.h
│   │   ├── rmd160.h
│   │   ├── skipjack.h
│   │   └── xform.h
│   ├── ctype.h
│   ├── curses.h
│   ├── db.h
│   ├── dev/
│   │   ├── acpica/
│   │   │   └── acpiio.h
│   │   ├── an/
│   │   │   ├── if_aironet_ieee.h
│   │   │   └── if_anreg.h
│   │   ├── bktr/
│   │   │   ├── ioctl_bt848.h
│   │   │   └── ioctl_meteor.h
│   │   ├── ciss/
│   │   │   ├── cissio.h
│   │   │   ├── cissreg.h
│   │   │   └── cissvar.h
│   │   ├── firewire/
│   │   │   ├── firewire.h
│   │   │   ├── firewire_phy.h
│   │   │   ├── firewirereg.h
│   │   │   ├── fwdma.h
│   │   │   ├── fwmem.h
│   │   │   ├── fwohcireg.h
│   │   │   ├── fwohcivar.h
│   │   │   ├── fwphyreg.h
│   │   │   ├── iec13213.h
│   │   │   ├── iec68113.h
│   │   │   ├── if_fwevar.h
│   │   │   ├── if_fwipvar.h
│   │   │   └── sbp.h
│   │   ├── hwpmc/
│   │   │   ├── hwpmc_amd.h
│   │   │   ├── hwpmc_core.h
│   │   │   ├── hwpmc_mips24k.h
│   │   │   ├── hwpmc_pentium.h
│   │   │   ├── hwpmc_piv.h
│   │   │   ├── hwpmc_ppro.h
│   │   │   ├── hwpmc_tsc.h
│   │   │   ├── hwpmc_uncore.h
│   │   │   ├── hwpmc_xscale.h
│   │   │   └── pmc_events.h
│   │   ├── ic/
│   │   │   ├── cd1400.h
│   │   │   ├── cd180.h
│   │   │   ├── esp.h
│   │   │   ├── hd64570.h
│   │   │   ├── i8237.h
│   │   │   ├── i8251.h
│   │   │   ├── i8253reg.h
│   │   │   ├── i8255.h
│   │   │   ├── i82586.h
│   │   │   ├── i8259.h
│   │   │   ├── nec765.h
│   │   │   ├── ns16550.h
│   │   │   ├── quicc.h
│   │   │   ├── rsa.h
│   │   │   ├── sab82532.h
│   │   │   ├── via6522reg.h
│   │   │   ├── wd33c93reg.h
│   │   │   └── z8530.h
│   │   ├── ieee488/
│   │   │   ├── ibfoo_int.h
│   │   │   ├── tnt4882.h
│   │   │   ├── ugpib.h
│   │   │   └── upd7210.h
│   │   ├── iicbus/
│   │   │   ├── iic.h
│   │   │   ├── iicbus.h
│   │   │   └── iiconf.h
│   │   ├── io/
│   │   │   └── iodev.h
│   │   ├── lmc/
│   │   │   └── if_lmc.h
│   │   ├── mfi/
│   │   │   ├── mfi_ioctl.h
│   │   │   ├── mfireg.h
│   │   │   └── mfivar.h
│   │   ├── mpt/
│   │   │   └── mpilib/
│   │   │       ├── mpi.h
│   │   │       ├── mpi_cnfg.h
│   │   │       ├── mpi_fc.h
│   │   │       ├── mpi_inb.h
│   │   │       ├── mpi_init.h
│   │   │       ├── mpi_ioc.h
│   │   │       ├── mpi_lan.h
│   │   │       ├── mpi_raid.h
│   │   │       ├── mpi_sas.h
│   │   │       ├── mpi_targ.h
│   │   │       ├── mpi_tool.h
│   │   │       └── mpi_type.h
│   │   ├── ofw/
│   │   │   ├── ofw_bus.h
│   │   │   ├── ofw_bus_subr.h
│   │   │   ├── ofw_pci.h
│   │   │   ├── ofwvar.h
│   │   │   ├── openfirm.h
│   │   │   ├── openfirmio.h
│   │   │   └── openpromio.h
│   │   ├── pbio/
│   │   │   └── pbioio.h
│   │   ├── ppbus/
│   │   │   ├── lpt.h
│   │   │   ├── lptio.h
│   │   │   ├── ppb_1284.h
│   │   │   ├── ppb_msq.h
│   │   │   ├── ppbconf.h
│   │   │   ├── ppbio.h
│   │   │   ├── ppi.h
│   │   │   └── vpoio.h
│   │   ├── smbus/
│   │   │   ├── smb.h
│   │   │   ├── smbconf.h
│   │   │   └── smbus.h
│   │   ├── speaker/
│   │   │   └── speaker.h
│   │   ├── usb/
│   │   │   ├── ufm_ioctl.h
│   │   │   ├── usb.h
│   │   │   ├── usb_bus.h
│   │   │   ├── usb_busdma.h
│   │   │   ├── usb_cdc.h
│   │   │   ├── usb_compat_linux.h
│   │   │   ├── usb_controller.h
│   │   │   ├── usb_core.h
│   │   │   ├── usb_debug.h
│   │   │   ├── usb_dev.h
│   │   │   ├── usb_device.h
│   │   │   ├── usb_dynamic.h
│   │   │   ├── usb_endian.h
│   │   │   ├── usb_freebsd.h
│   │   │   ├── usb_generic.h
│   │   │   ├── usb_hub.h
│   │   │   ├── usb_ioctl.h
│   │   │   ├── usb_mbuf.h
│   │   │   ├── usb_msctest.h
│   │   │   ├── usb_pci.h
│   │   │   ├── usb_pf.h
│   │   │   ├── usb_process.h
│   │   │   ├── usb_request.h
│   │   │   ├── usb_transfer.h
│   │   │   ├── usb_util.h
│   │   │   ├── usbdi.h
│   │   │   ├── usbdi_util.h
│   │   │   └── usbhid.h
│   │   ├── utopia/
│   │   │   ├── idtphy.h
│   │   │   ├── suni.h
│   │   │   ├── utopia.h
│   │   │   └── utopia_priv.h
│   │   ├── vkbd/
│   │   │   └── vkbd_var.h
│   │   └── wi/
│   │       ├── if_wavelan_ieee.h
│   │       ├── if_wireg.h
│   │       └── if_wivar.h
│   ├── devinfo.h
│   ├── devstat.h
│   ├── dialog.h
│   ├── digest_asn1.h
│   ├── dirent.h
│   ├── dlfcn.h
│   ├── dlg_colors.h
│   ├── dlg_config.h
│   ├── dlg_keys.h
│   ├── dwarf.h
│   ├── edit/
│   │   └── readline/
│   │       ├── history.h
│   │       └── readline.h
│   ├── elf-hints.h
│   ├── elf.h
│   ├── err.h
│   ├── eti.h
│   ├── fenv.h
│   ├── fetch.h
│   ├── fmtmsg.h
│   ├── fnmatch.h
│   ├── form.h
│   ├── fs/
│   │   ├── devfs/
│   │   │   ├── devfs.h
│   │   │   └── devfs_int.h
│   │   ├── fdescfs/
│   │   │   └── fdesc.h
│   │   ├── fifofs/
│   │   │   └── fifo.h
│   │   ├── msdosfs/
│   │   │   ├── bootsect.h
│   │   │   ├── bpb.h
│   │   │   ├── denode.h
│   │   │   ├── direntry.h
│   │   │   ├── fat.h
│   │   │   └── msdosfsmount.h
│   │   ├── nfs/
│   │   │   ├── nfs.h
│   │   │   ├── nfs_var.h
│   │   │   ├── nfscl.h
│   │   │   ├── nfsclstate.h
│   │   │   ├── nfsdport.h
│   │   │   ├── nfskpiport.h
│   │   │   ├── nfsm_subs.h
│   │   │   ├── nfsport.h
│   │   │   ├── nfsproto.h
│   │   │   ├── nfsrvcache.h
│   │   │   ├── nfsrvstate.h
│   │   │   ├── nfsv4_errstr.h
│   │   │   ├── rpcv2.h
│   │   │   └── xdr_subs.h
│   │   ├── ntfs/
│   │   │   ├── ntfs.h
│   │   │   ├── ntfs_compr.h
│   │   │   ├── ntfs_ihash.h
│   │   │   ├── ntfs_inode.h
│   │   │   ├── ntfs_subr.h
│   │   │   ├── ntfs_vfsops.h
│   │   │   └── ntfsmount.h
│   │   ├── nullfs/
│   │   │   └── null.h
│   │   ├── nwfs/
│   │   │   ├── nwfs.h
│   │   │   ├── nwfs_mount.h
│   │   │   ├── nwfs_node.h
│   │   │   └── nwfs_subr.h
│   │   ├── portalfs/
│   │   │   └── portal.h
│   │   ├── procfs/
│   │   │   └── procfs.h
│   │   ├── smbfs/
│   │   │   ├── smbfs.h
│   │   │   ├── smbfs_node.h
│   │   │   └── smbfs_subr.h
│   │   ├── udf/
│   │   │   ├── ecma167-udf.h
│   │   │   ├── osta.h
│   │   │   ├── udf.h
│   │   │   └── udf_mount.h
│   │   └── unionfs/
│   │       └── union.h
│   ├── fstab.h
│   ├── ftpio.h
│   ├── fts.h
│   ├── ftw.h
│   ├── gcc/
│   │   └── 4.2/
│   │       ├── emmintrin.h
│   │       ├── mm_malloc.h
│   │       ├── mmintrin.h
│   │       ├── pmmintrin.h
│   │       ├── tmmintrin.h
│   │       └── xmmintrin.h
│   ├── gelf.h
│   ├── geom/
│   │   ├── cache/
│   │   │   └── g_cache.h
│   │   ├── concat/
│   │   │   └── g_concat.h
│   │   ├── eli/
│   │   │   ├── g_eli.h
│   │   │   └── pkcs5v2.h
│   │   ├── gate/
│   │   │   └── g_gate.h
│   │   ├── geom.h
│   │   ├── geom_ctl.h
│   │   ├── geom_disk.h
│   │   ├── geom_int.h
│   │   ├── geom_slice.h
│   │   ├── geom_vfs.h
│   │   ├── journal/
│   │   │   └── g_journal.h
│   │   ├── label/
│   │   │   ├── g_label.h
│   │   │   └── g_label_msdosfs.h
│   │   ├── mirror/
│   │   │   └── g_mirror.h
│   │   ├── mountver/
│   │   │   └── g_mountver.h
│   │   ├── multipath/
│   │   │   └── g_multipath.h
│   │   ├── nop/
│   │   │   └── g_nop.h
│   │   ├── raid/
│   │   │   └── g_raid.h
│   │   ├── raid3/
│   │   │   └── g_raid3.h
│   │   ├── shsec/
│   │   │   └── g_shsec.h
│   │   ├── stripe/
│   │   │   └── g_stripe.h
│   │   └── virstor/
│   │       ├── binstream.h
│   │       ├── g_virstor.h
│   │       └── g_virstor_md.h
│   ├── getopt.h
│   ├── glob.h
│   ├── gnu/
│   │   ├── posix/
│   │   │   └── regex.h
│   │   └── regex.h
│   ├── gnuregex.h
│   ├── gpib/
│   │   └── gpib.h
│   ├── grp.h
│   ├── gssapi/
│   │   ├── gssapi.h
│   │   └── gssapi_krb5.h
│   ├── gssapi.h
│   ├── hdb-private.h
│   ├── hdb-protos.h
│   ├── hdb.h
│   ├── hdb_asn1.h
│   ├── hdb_err.h
│   ├── heim_asn1.h
│   ├── heim_err.h
│   ├── heim_threads.h
│   ├── heimntlm-protos.h
│   ├── heimntlm.h
│   ├── histedit.h
│   ├── hx509-private.h
│   ├── hx509-protos.h
│   ├── hx509.h
│   ├── hx509_err.h
│   ├── ieeefp.h
│   ├── ifaddrs.h
│   ├── inttypes.h
│   ├── iso646.h
│   ├── isofs/
│   │   └── cd9660/
│   │       ├── cd9660_mount.h
│   │       ├── cd9660_node.h
│   │       ├── cd9660_rrip.h
│   │       ├── iso.h
│   │       └── iso_rrip.h
│   ├── jail.h
│   ├── k524_err.h
│   ├── kadm5/
│   │   ├── admin.h
│   │   ├── kadm5-private.h
│   │   ├── kadm5-protos.h
│   │   ├── kadm5_err.h
│   │   └── private.h
│   ├── kafs.h
│   ├── kenv.h
│   ├── krb5-protos.h
│   ├── krb5-types.h
│   ├── krb5-v4compat.h
│   ├── krb5.h
│   ├── krb5_asn1.h
│   ├── krb5_err.h
│   ├── krb_err.h
│   ├── kvm.h
│   ├── kx509_asn1.h
│   ├── langinfo.h
│   ├── libdisk.h
│   ├── libdwarf.h
│   ├── libelf.h
│   ├── libgen.h
│   ├── libgeom.h
│   ├── libmilter/
│   │   ├── mfapi.h
│   │   └── mfdef.h
│   ├── libproc.h
│   ├── libprocstat.h
│   ├── libufs.h
│   ├── libusb.h
│   ├── libusb20.h
│   ├── libusb20_desc.h
│   ├── libutil.h
│   ├── limits.h
│   ├── link.h
│   ├── locale.h
│   ├── login_cap.h
│   ├── lwres/
│   │   ├── context.h
│   │   ├── int.h
│   │   ├── ipv6.h
│   │   ├── lang.h
│   │   ├── list.h
│   │   ├── lwbuffer.h
│   │   ├── lwpacket.h
│   │   ├── lwres.h
│   │   ├── net.h
│   │   ├── netdb.h
│   │   ├── platform.h
│   │   ├── result.h
│   │   └── version.h
│   ├── lzma/
│   │   ├── base.h
│   │   ├── bcj.h
│   │   ├── block.h
│   │   ├── check.h
│   │   ├── container.h
│   │   ├── delta.h
│   │   ├── filter.h
│   │   ├── hardware.h
│   │   ├── index.h
│   │   ├── index_hash.h
│   │   ├── lzma.h
│   │   ├── stream_flags.h
│   │   ├── version.h
│   │   └── vli.h
│   ├── lzma.h
│   ├── machine/
│   │   ├── _align.h
│   │   ├── _bus.h
│   │   ├── _inttypes.h
│   │   ├── _limits.h
│   │   ├── _stdint.h
│   │   ├── _types.h
│   │   ├── acpica_machdep.h
│   │   ├── apicvar.h
│   │   ├── apm_bios.h
│   │   ├── asm.h
│   │   ├── asmacros.h
│   │   ├── atomic.h
│   │   ├── bus.h
│   │   ├── bus_dma.h
│   │   ├── clock.h
│   │   ├── cpu.h
│   │   ├── cpufunc.h
│   │   ├── cputypes.h
│   │   ├── db_machdep.h
│   │   ├── elf.h
│   │   ├── endian.h
│   │   ├── exec.h
│   │   ├── float.h
│   │   ├── floatingpoint.h
│   │   ├── fpu.h
│   │   ├── frame.h
│   │   ├── gdb_machdep.h
│   │   ├── ieeefp.h
│   │   ├── in_cksum.h
│   │   ├── intr_machdep.h
│   │   ├── iodev.h
│   │   ├── kdb.h
│   │   ├── legacyvar.h
│   │   ├── limits.h
│   │   ├── md_var.h
│   │   ├── memdev.h
│   │   ├── metadata.h
│   │   ├── minidump.h
│   │   ├── mp_watchdog.h
│   │   ├── nexusvar.h
│   │   ├── param.h
│   │   ├── pc/
│   │   │   ├── bios.h
│   │   │   └── display.h
│   │   ├── pcb.h
│   │   ├── pci_cfgreg.h
│   │   ├── pcpu.h
│   │   ├── pmap.h
│   │   ├── pmc_mdep.h
│   │   ├── ppireg.h
│   │   ├── proc.h
│   │   ├── profile.h
│   │   ├── psl.h
│   │   ├── ptrace.h
│   │   ├── reg.h
│   │   ├── reloc.h
│   │   ├── resource.h
│   │   ├── runq.h
│   │   ├── segments.h
│   │   ├── setjmp.h
│   │   ├── sf_buf.h
│   │   ├── sigframe.h
│   │   ├── signal.h
│   │   ├── smp.h
│   │   ├── specialreg.h
│   │   ├── stack.h
│   │   ├── stdarg.h
│   │   ├── sysarch.h
│   │   ├── timerreg.h
│   │   ├── trap.h
│   │   ├── tss.h
│   │   ├── ucontext.h
│   │   ├── varargs.h
│   │   ├── vm.h
│   │   └── vmparam.h
│   ├── magic.h
│   ├── malloc.h
│   ├── malloc_np.h
│   ├── math.h
│   ├── md2.h
│   ├── md4.h
│   ├── md5.h
│   ├── memory.h
│   ├── memstat.h
│   ├── menu.h
│   ├── monetary.h
│   ├── mp.h
│   ├── mpool.h
│   ├── mqueue.h
│   ├── ncurses_dll.h
│   ├── ndbm.h
│   ├── net/
│   │   ├── bpf.h
│   │   ├── bpf_buffer.h
│   │   ├── bpf_jitter.h
│   │   ├── bpf_zerocopy.h
│   │   ├── bpfdesc.h
│   │   ├── bridgestp.h
│   │   ├── ethernet.h
│   │   ├── fddi.h
│   │   ├── firewire.h
│   │   ├── flowtable.h
│   │   ├── ieee8023ad_lacp.h
│   │   ├── if.h
│   │   ├── if_arc.h
│   │   ├── if_arp.h
│   │   ├── if_atm.h
│   │   ├── if_bridgevar.h
│   │   ├── if_clone.h
│   │   ├── if_dl.h
│   │   ├── if_enc.h
│   │   ├── if_gif.h
│   │   ├── if_gre.h
│   │   ├── if_lagg.h
│   │   ├── if_llatbl.h
│   │   ├── if_llc.h
│   │   ├── if_media.h
│   │   ├── if_mib.h
│   │   ├── if_pflog.h
│   │   ├── if_pflow.h
│   │   ├── if_pfsync.h
│   │   ├── if_sppp.h
│   │   ├── if_stf.h
│   │   ├── if_tap.h
│   │   ├── if_tapvar.h
│   │   ├── if_tun.h
│   │   ├── if_types.h
│   │   ├── if_var.h
│   │   ├── if_vlan_var.h
│   │   ├── iso88025.h
│   │   ├── netisr.h
│   │   ├── netisr_internal.h
│   │   ├── pf_mtag.h
│   │   ├── pfil.h
│   │   ├── pfkeyv2.h
│   │   ├── pfvar.h
│   │   ├── ppp_defs.h
│   │   ├── radix.h
│   │   ├── radix_mpath.h
│   │   ├── raw_cb.h
│   │   ├── route.h
│   │   ├── slcompress.h
│   │   ├── vnet.h
│   │   ├── zlib.h
│   │   └── zutil.h
│   ├── net80211/
│   │   ├── _ieee80211.h
│   │   ├── ieee80211.h
│   │   ├── ieee80211_action.h
│   │   ├── ieee80211_adhoc.h
│   │   ├── ieee80211_ageq.h
│   │   ├── ieee80211_alq.h
│   │   ├── ieee80211_amrr.h
│   │   ├── ieee80211_crypto.h
│   │   ├── ieee80211_dfs.h
│   │   ├── ieee80211_freebsd.h
│   │   ├── ieee80211_hostap.h
│   │   ├── ieee80211_ht.h
│   │   ├── ieee80211_input.h
│   │   ├── ieee80211_ioctl.h
│   │   ├── ieee80211_mesh.h
│   │   ├── ieee80211_monitor.h
│   │   ├── ieee80211_node.h
│   │   ├── ieee80211_phy.h
│   │   ├── ieee80211_power.h
│   │   ├── ieee80211_proto.h
│   │   ├── ieee80211_radiotap.h
│   │   ├── ieee80211_ratectl.h
│   │   ├── ieee80211_regdomain.h
│   │   ├── ieee80211_rssadapt.h
│   │   ├── ieee80211_scan.h
│   │   ├── ieee80211_sta.h
│   │   ├── ieee80211_superg.h
│   │   ├── ieee80211_tdma.h
│   │   ├── ieee80211_var.h
│   │   └── ieee80211_wds.h
│   ├── netatalk/
│   │   ├── aarp.h
│   │   ├── at.h
│   │   ├── at_extern.h
│   │   ├── at_var.h
│   │   ├── ddp.h
│   │   ├── ddp_pcb.h
│   │   ├── ddp_var.h
│   │   ├── endian.h
│   │   └── phase2.h
│   ├── netconfig.h
│   ├── netdb.h
│   ├── netgraph/
│   │   ├── atm/
│   │   │   ├── ng_atm.h
│   │   │   ├── ng_ccatm.h
│   │   │   ├── ng_sscfu.h
│   │   │   ├── ng_sscop.h
│   │   │   ├── ng_uni.h
│   │   │   └── ngatmbase.h
│   │   ├── bluetooth/
│   │   │   └── include/
│   │   │       ├── ng_bluetooth.h
│   │   │       ├── ng_bt3c.h
│   │   │       ├── ng_btsocket.h
│   │   │       ├── ng_btsocket_hci_raw.h
│   │   │       ├── ng_btsocket_l2cap.h
│   │   │       ├── ng_btsocket_rfcomm.h
│   │   │       ├── ng_btsocket_sco.h
│   │   │       ├── ng_h4.h
│   │   │       ├── ng_hci.h
│   │   │       ├── ng_l2cap.h
│   │   │       └── ng_ubt.h
│   │   ├── netflow/
│   │   │   ├── netflow.h
│   │   │   ├── netflow_v9.h
│   │   │   └── ng_netflow.h
│   │   ├── netgraph.h
│   │   ├── ng_UI.h
│   │   ├── ng_async.h
│   │   ├── ng_atmllc.h
│   │   ├── ng_bpf.h
│   │   ├── ng_bridge.h
│   │   ├── ng_car.h
│   │   ├── ng_cisco.h
│   │   ├── ng_deflate.h
│   │   ├── ng_device.h
│   │   ├── ng_echo.h
│   │   ├── ng_eiface.h
│   │   ├── ng_etf.h
│   │   ├── ng_ether.h
│   │   ├── ng_ether_echo.h
│   │   ├── ng_fec.h
│   │   ├── ng_frame_relay.h
│   │   ├── ng_gif.h
│   │   ├── ng_gif_demux.h
│   │   ├── ng_hole.h
│   │   ├── ng_hub.h
│   │   ├── ng_iface.h
│   │   ├── ng_ip_input.h
│   │   ├── ng_ipfw.h
│   │   ├── ng_ksocket.h
│   │   ├── ng_l2tp.h
│   │   ├── ng_lmi.h
│   │   ├── ng_message.h
│   │   ├── ng_mppc.h
│   │   ├── ng_nat.h
│   │   ├── ng_one2many.h
│   │   ├── ng_parse.h
│   │   ├── ng_patch.h
│   │   ├── ng_pipe.h
│   │   ├── ng_ppp.h
│   │   ├── ng_pppoe.h
│   │   ├── ng_pptpgre.h
│   │   ├── ng_pred1.h
│   │   ├── ng_rfc1490.h
│   │   ├── ng_sample.h
│   │   ├── ng_socket.h
│   │   ├── ng_socketvar.h
│   │   ├── ng_source.h
│   │   ├── ng_split.h
│   │   ├── ng_sppp.h
│   │   ├── ng_tag.h
│   │   ├── ng_tcpmss.h
│   │   ├── ng_tee.h
│   │   ├── ng_tty.h
│   │   ├── ng_vjc.h
│   │   └── ng_vlan.h
│   ├── netgraph.h
│   ├── netinet/
│   │   ├── cc.h
│   │   ├── icmp6.h
│   │   ├── icmp_var.h
│   │   ├── if_atm.h
│   │   ├── if_ether.h
│   │   ├── igmp.h
│   │   ├── igmp_var.h
│   │   ├── in.h
│   │   ├── in_gif.h
│   │   ├── in_pcb.h
│   │   ├── in_systm.h
│   │   ├── in_var.h
│   │   ├── ip.h
│   │   ├── ip6.h
│   │   ├── ip_auth.h
│   │   ├── ip_carp.h
│   │   ├── ip_compat.h
│   │   ├── ip_divert.h
│   │   ├── ip_dummynet.h
│   │   ├── ip_ecn.h
│   │   ├── ip_encap.h
│   │   ├── ip_fil.h
│   │   ├── ip_frag.h
│   │   ├── ip_fw.h
│   │   ├── ip_gre.h
│   │   ├── ip_htable.h
│   │   ├── ip_icmp.h
│   │   ├── ip_ipsec.h
│   │   ├── ip_lookup.h
│   │   ├── ip_mroute.h
│   │   ├── ip_nat.h
│   │   ├── ip_options.h
│   │   ├── ip_pool.h
│   │   ├── ip_proxy.h
│   │   ├── ip_rules.h
│   │   ├── ip_scan.h
│   │   ├── ip_state.h
│   │   ├── ip_sync.h
│   │   ├── ip_var.h
│   │   ├── ipl.h
│   │   ├── pim.h
│   │   ├── pim_var.h
│   │   ├── sctp.h
│   │   ├── sctp_asconf.h
│   │   ├── sctp_auth.h
│   │   ├── sctp_bsd_addr.h
│   │   ├── sctp_constants.h
│   │   ├── sctp_crc32.h
│   │   ├── sctp_dtrace_declare.h
│   │   ├── sctp_dtrace_define.h
│   │   ├── sctp_header.h
│   │   ├── sctp_indata.h
│   │   ├── sctp_input.h
│   │   ├── sctp_lock_bsd.h
│   │   ├── sctp_os.h
│   │   ├── sctp_os_bsd.h
│   │   ├── sctp_output.h
│   │   ├── sctp_pcb.h
│   │   ├── sctp_peeloff.h
│   │   ├── sctp_structs.h
│   │   ├── sctp_sysctl.h
│   │   ├── sctp_timer.h
│   │   ├── sctp_uio.h
│   │   ├── sctp_var.h
│   │   ├── sctputil.h
│   │   ├── tcp.h
│   │   ├── tcp_debug.h
│   │   ├── tcp_fsm.h
│   │   ├── tcp_hostcache.h
│   │   ├── tcp_lro.h
│   │   ├── tcp_offload.h
│   │   ├── tcp_seq.h
│   │   ├── tcp_syncache.h
│   │   ├── tcp_timer.h
│   │   ├── tcp_var.h
│   │   ├── tcpip.h
│   │   ├── toedev.h
│   │   ├── udp.h
│   │   └── udp_var.h
│   ├── netinet6/
│   │   ├── icmp6.h
│   │   ├── in6.h
│   │   ├── in6_gif.h
│   │   ├── in6_ifattach.h
│   │   ├── in6_pcb.h
│   │   ├── in6_var.h
│   │   ├── ip6.h
│   │   ├── ip6_ecn.h
│   │   ├── ip6_ipsec.h
│   │   ├── ip6_mroute.h
│   │   ├── ip6_var.h
│   │   ├── ip6protosw.h
│   │   ├── mld6.h
│   │   ├── mld6_var.h
│   │   ├── nd6.h
│   │   ├── pim6.h
│   │   ├── pim6_var.h
│   │   ├── raw_ip6.h
│   │   ├── scope6_var.h
│   │   ├── sctp6_var.h
│   │   ├── send.h
│   │   ├── tcp6_var.h
│   │   └── udp6_var.h
│   ├── netipsec/
│   │   ├── ah.h
│   │   ├── ah_var.h
│   │   ├── esp.h
│   │   ├── esp_var.h
│   │   ├── ipcomp.h
│   │   ├── ipcomp_var.h
│   │   ├── ipip_var.h
│   │   ├── ipsec.h
│   │   ├── ipsec6.h
│   │   ├── key.h
│   │   ├── key_debug.h
│   │   ├── key_var.h
│   │   ├── keydb.h
│   │   ├── keysock.h
│   │   └── xform.h
│   ├── netipx/
│   │   ├── ipx.h
│   │   ├── ipx_if.h
│   │   ├── ipx_pcb.h
│   │   ├── ipx_var.h
│   │   ├── spx.h
│   │   ├── spx_debug.h
│   │   ├── spx_timer.h
│   │   └── spx_var.h
│   ├── netnatm/
│   │   ├── addr.h
│   │   ├── api/
│   │   │   ├── atmapi.h
│   │   │   ├── ccatm.h
│   │   │   └── unisap.h
│   │   ├── msg/
│   │   │   ├── uni_config.h
│   │   │   ├── uni_hdr.h
│   │   │   ├── uni_ie.h
│   │   │   ├── uni_msg.h
│   │   │   ├── unimsglib.h
│   │   │   ├── uniprint.h
│   │   │   └── unistruct.h
│   │   ├── natm.h
│   │   ├── saal/
│   │   │   ├── sscfu.h
│   │   │   ├── sscfudef.h
│   │   │   ├── sscop.h
│   │   │   └── sscopdef.h
│   │   ├── sig/
│   │   │   ├── uni.h
│   │   │   ├── unidef.h
│   │   │   └── unisig.h
│   │   └── unimsg.h
│   ├── netncp/
│   │   ├── ncp.h
│   │   ├── ncp_cfg.h
│   │   ├── ncp_conn.h
│   │   ├── ncp_file.h
│   │   ├── ncp_lib.h
│   │   ├── ncp_ncp.h
│   │   ├── ncp_nls.h
│   │   ├── ncp_rcfile.h
│   │   ├── ncp_rq.h
│   │   ├── ncp_sock.h
│   │   ├── ncp_subr.h
│   │   ├── ncp_user.h
│   │   ├── ncpio.h
│   │   └── nwerror.h
│   ├── netsmb/
│   │   ├── netbios.h
│   │   ├── smb.h
│   │   ├── smb_conn.h
│   │   ├── smb_dev.h
│   │   ├── smb_rq.h
│   │   ├── smb_subr.h
│   │   ├── smb_tran.h
│   │   └── smb_trantcp.h
│   ├── nfs/
│   │   ├── krpc.h
│   │   ├── nfs_common.h
│   │   ├── nfs_kdtrace.h
│   │   ├── nfs_lock.h
│   │   ├── nfs_mountcommon.h
│   │   ├── nfsdiskless.h
│   │   ├── nfsproto.h
│   │   ├── nfssvc.h
│   │   └── xdr_subs.h
│   ├── nfsclient/
│   │   ├── nfs.h
│   │   ├── nfsargs.h
│   │   ├── nfsm_subs.h
│   │   ├── nfsmount.h
│   │   ├── nfsnode.h
│   │   ├── nfsstats.h
│   │   └── nlminfo.h
│   ├── nfsserver/
│   │   ├── nfs.h
│   │   ├── nfs_fha.h
│   │   ├── nfsm_subs.h
│   │   ├── nfsrvcache.h
│   │   └── nfsrvstats.h
│   ├── nl_types.h
│   ├── nlist.h
│   ├── nss.h
│   ├── nsswitch.h
│   ├── ocsp_asn1.h
│   ├── omp.h
│   ├── openssl/
│   │   ├── aes.h
│   │   ├── aes_locl.h
│   │   ├── asn1.h
│   │   ├── asn1_mac.h
│   │   ├── asn1t.h
│   │   ├── bio.h
│   │   ├── bio_lcl.h
│   │   ├── blowfish.h
│   │   ├── bn.h
│   │   ├── buffer.h
│   │   ├── camellia.h
│   │   ├── cast.h
│   │   ├── comp.h
│   │   ├── conf.h
│   │   ├── conf_api.h
│   │   ├── crypto.h
│   │   ├── des.h
│   │   ├── des_old.h
│   │   ├── dh.h
│   │   ├── dsa.h
│   │   ├── dso.h
│   │   ├── dtls1.h
│   │   ├── e_os.h
│   │   ├── e_os2.h
│   │   ├── ebcdic.h
│   │   ├── ec.h
│   │   ├── ecdh.h
│   │   ├── ecdsa.h
│   │   ├── engine.h
│   │   ├── err.h
│   │   ├── evp.h
│   │   ├── fips.h
│   │   ├── fips_rand.h
│   │   ├── hmac.h
│   │   ├── krb5_asn.h
│   │   ├── kssl.h
│   │   ├── lhash.h
│   │   ├── md2.h
│   │   ├── md4.h
│   │   ├── md5.h
│   │   ├── mdc2.h
│   │   ├── obj_mac.h
│   │   ├── objects.h
│   │   ├── ocsp.h
│   │   ├── opensslconf.h
│   │   ├── opensslv.h
│   │   ├── ossl_typ.h
│   │   ├── pem.h
│   │   ├── pem2.h
│   │   ├── pkcs12.h
│   │   ├── pkcs7.h
│   │   ├── pq_compat.h
│   │   ├── pqueue.h
│   │   ├── rand.h
│   │   ├── rc2.h
│   │   ├── rc4.h
│   │   ├── rc5.h
│   │   ├── ripemd.h
│   │   ├── rsa.h
│   │   ├── safestack.h
│   │   ├── sha.h
│   │   ├── ssl.h
│   │   ├── ssl2.h
│   │   ├── ssl23.h
│   │   ├── ssl3.h
│   │   ├── stack.h
│   │   ├── store.h
│   │   ├── symhacks.h
│   │   ├── tls1.h
│   │   ├── tmdiff.h
│   │   ├── txt_db.h
│   │   ├── ui.h
│   │   ├── ui_compat.h
│   │   ├── ui_locl.h
│   │   ├── x509.h
│   │   ├── x509_vfy.h
│   │   └── x509v3.h
│   ├── opie.h
│   ├── osreldate.h
│   ├── panel.h
│   ├── paths.h
│   ├── pcap/
│   │   ├── bpf.h
│   │   ├── namedb.h
│   │   └── pcap.h
│   ├── pcap-bpf.h
│   ├── pcap-int.h
│   ├── pcap-namedb.h
│   ├── pcap.h
│   ├── pkcs10_asn1.h
│   ├── pkcs12_asn1.h
│   ├── pkcs8_asn1.h
│   ├── pkcs9_asn1.h
│   ├── pkinit_asn1.h
│   ├── pmc.h
│   ├── pmclog.h
│   ├── printf.h
│   ├── proc_service.h
│   ├── protocols/
│   │   ├── dumprestore.h
│   │   ├── routed.h
│   │   ├── rwhod.h
│   │   ├── talkd.h
│   │   └── timed.h
│   ├── ps4-offsets/
│   │   ├── 672.h
│   │   ├── 702.h
│   │   ├── 755.h
│   │   ├── 900.h
│   │   └── kernel.h
│   ├── pthread.h
│   ├── pthread_np.h
│   ├── pwd.h
│   ├── radlib.h
│   ├── radlib_vs.h
│   ├── ranlib.h
│   ├── readline/
│   │   ├── chardefs.h
│   │   ├── history.h
│   │   ├── keymaps.h
│   │   ├── readline.h
│   │   ├── rlconf.h
│   │   ├── rlstdc.h
│   │   ├── rltypedefs.h
│   │   └── tilde.h
│   ├── readpassphrase.h
│   ├── regex.h
│   ├── res_update.h
│   ├── resolv.h
│   ├── rfc2459_asn1.h
│   ├── ripemd.h
│   ├── roken-common.h
│   ├── roken.h
│   ├── rpc/
│   │   ├── auth.h
│   │   ├── auth_des.h
│   │   ├── auth_kerb.h
│   │   ├── auth_unix.h
│   │   ├── clnt.h
│   │   ├── clnt_soc.h
│   │   ├── clnt_stat.h
│   │   ├── des.h
│   │   ├── des_crypt.h
│   │   ├── key_prot.h
│   │   ├── nettype.h
│   │   ├── pmap_clnt.h
│   │   ├── pmap_prot.h
│   │   ├── pmap_rmt.h
│   │   ├── raw.h
│   │   ├── rpc.h
│   │   ├── rpc_com.h
│   │   ├── rpc_msg.h
│   │   ├── rpcb_clnt.h
│   │   ├── rpcb_prot.h
│   │   ├── rpcb_prot.x
│   │   ├── rpcent.h
│   │   ├── rpcsec_gss.h
│   │   ├── svc.h
│   │   ├── svc_auth.h
│   │   ├── svc_dg.h
│   │   ├── svc_soc.h
│   │   ├── types.h
│   │   └── xdr.h
│   ├── rpcsvc/
│   │   ├── bootparam_prot.h
│   │   ├── bootparam_prot.x
│   │   ├── crypt.h
│   │   ├── crypt.x
│   │   ├── key_prot.h
│   │   ├── key_prot.x
│   │   ├── klm_prot.h
│   │   ├── klm_prot.x
│   │   ├── mount.h
│   │   ├── mount.x
│   │   ├── nfs_prot.h
│   │   ├── nfs_prot.x
│   │   ├── nis.h
│   │   ├── nis.x
│   │   ├── nis_cache.h
│   │   ├── nis_cache.x
│   │   ├── nis_callback.h
│   │   ├── nis_callback.x
│   │   ├── nis_db.h
│   │   ├── nis_object.x
│   │   ├── nis_tags.h
│   │   ├── nislib.h
│   │   ├── nlm_prot.h
│   │   ├── nlm_prot.x
│   │   ├── rex.h
│   │   ├── rex.x
│   │   ├── rnusers.h
│   │   ├── rnusers.x
│   │   ├── rquota.h
│   │   ├── rquota.x
│   │   ├── rstat.h
│   │   ├── rstat.x
│   │   ├── rwall.h
│   │   ├── rwall.x
│   │   ├── sm_inter.h
│   │   ├── sm_inter.x
│   │   ├── spray.h
│   │   ├── spray.x
│   │   ├── yp.h
│   │   ├── yp.x
│   │   ├── yp_prot.h
│   │   ├── ypclnt.h
│   │   ├── yppasswd.h
│   │   ├── yppasswd.x
│   │   ├── ypupdate_prot.h
│   │   ├── ypupdate_prot.x
│   │   ├── ypxfrd.h
│   │   └── ypxfrd.x
│   ├── rpoll.h
│   ├── rtld_db.h
│   ├── runetype.h
│   ├── sdp.h
│   ├── search.h
│   ├── security/
│   │   ├── audit/
│   │   │   ├── audit.h
│   │   │   ├── audit_ioctl.h
│   │   │   └── audit_private.h
│   │   ├── mac_biba/
│   │   │   └── mac_biba.h
│   │   ├── mac_bsdextended/
│   │   │   ├── mac_bsdextended.h
│   │   │   └── ugidfw_internal.h
│   │   ├── mac_lomac/
│   │   │   └── mac_lomac.h
│   │   ├── mac_mls/
│   │   │   └── mac_mls.h
│   │   ├── mac_partition/
│   │   │   └── mac_partition.h
│   │   ├── openpam.h
│   │   ├── openpam_attr.h
│   │   ├── openpam_version.h
│   │   ├── pam_appl.h
│   │   ├── pam_constants.h
│   │   ├── pam_mod_misc.h
│   │   ├── pam_modules.h
│   │   └── pam_types.h
│   ├── semaphore.h
│   ├── setjmp.h
│   ├── sha.h
│   ├── sha256.h
│   ├── sha512.h
│   ├── signal.h
│   ├── spawn.h
│   ├── ssp/
│   │   ├── ssp.h
│   │   ├── stdio.h
│   │   ├── string.h
│   │   └── unistd.h
│   ├── stab.h
│   ├── stand.h
│   ├── stdbool.h
│   ├── stddef.h
│   ├── stdio.h
│   ├── stdlib.h
│   ├── string.h
│   ├── stringlist.h
│   ├── strings.h
│   ├── sys/
│   │   ├── _bus_dma.h
│   │   ├── _callout.h
│   │   ├── _cpuset.h
│   │   ├── _iovec.h
│   │   ├── _lock.h
│   │   ├── _lockmgr.h
│   │   ├── _mutex.h
│   │   ├── _null.h
│   │   ├── _pthreadtypes.h
│   │   ├── _rmlock.h
│   │   ├── _rwlock.h
│   │   ├── _semaphore.h
│   │   ├── _sigset.h
│   │   ├── _sockaddr_storage.h
│   │   ├── _stack.h
│   │   ├── _stdint.h
│   │   ├── _sx.h
│   │   ├── _task.h
│   │   ├── _termios.h
│   │   ├── _timespec.h
│   │   ├── _timeval.h
│   │   ├── _types.h
│   │   ├── _umtx.h
│   │   ├── aac_ioctl.h
│   │   ├── acct.h
│   │   ├── acl.h
│   │   ├── agpio.h
│   │   ├── aio.h
│   │   ├── alq.h
│   │   ├── apm.h
│   │   ├── assym.h
│   │   ├── ata.h
│   │   ├── bio.h
│   │   ├── bitstring.h
│   │   ├── blist.h
│   │   ├── buf.h
│   │   ├── buf_ring.h
│   │   ├── bufobj.h
│   │   ├── bus.h
│   │   ├── bus_dma.h
│   │   ├── callout.h
│   │   ├── capability.h
│   │   ├── cdefs.h
│   │   ├── cdio.h
│   │   ├── cdrio.h
│   │   ├── cfictl.h
│   │   ├── chio.h
│   │   ├── clock.h
│   │   ├── condvar.h
│   │   ├── conf.h
│   │   ├── cons.h
│   │   ├── consio.h
│   │   ├── copyright.h
│   │   ├── cpu.h
│   │   ├── cpuctl.h
│   │   ├── cpuset.h
│   │   ├── ctype.h
│   │   ├── dataacq.h
│   │   ├── device_port.h
│   │   ├── devicestat.h
│   │   ├── digiio.h
│   │   ├── dir.h
│   │   ├── dirent.h
│   │   ├── disk.h
│   │   ├── disklabel.h
│   │   ├── diskmbr.h
│   │   ├── diskpc98.h
│   │   ├── dkstat.h
│   │   ├── domain.h
│   │   ├── dtrace_bsd.h
│   │   ├── dvdio.h
│   │   ├── elf.h
│   │   ├── elf32.h
│   │   ├── elf64.h
│   │   ├── elf_common.h
│   │   ├── elf_generic.h
│   │   ├── endian.h
│   │   ├── errno.h
│   │   ├── eui64.h
│   │   ├── event.h
│   │   ├── eventhandler.h
│   │   ├── eventvar.h
│   │   ├── exec.h
│   │   ├── extattr.h
│   │   ├── fail.h
│   │   ├── fbio.h
│   │   ├── fcntl.h
│   │   ├── fdcio.h
│   │   ├── file.h
│   │   ├── filedesc.h
│   │   ├── filio.h
│   │   ├── firmware.h
│   │   ├── fnv_hash.h
│   │   ├── gmon.h
│   │   ├── gpio.h
│   │   ├── gpt.h
│   │   ├── hash.h
│   │   ├── hhook.h
│   │   ├── iconv.h
│   │   ├── imgact.h
│   │   ├── imgact_aout.h
│   │   ├── imgact_elf.h
│   │   ├── inflate.h
│   │   ├── interrupt.h
│   │   ├── ioccom.h
│   │   ├── ioctl.h
│   │   ├── ioctl_compat.h
│   │   ├── ipc.h
│   │   ├── ipmi.h
│   │   ├── jail.h
│   │   ├── joystick.h
│   │   ├── kbio.h
│   │   ├── kdb.h
│   │   ├── kenv.h
│   │   ├── kernel.h
│   │   ├── kerneldump.h
│   │   ├── khelp.h
│   │   ├── kobj.h
│   │   ├── ksem.h
│   │   ├── ksyms.h
│   │   ├── kthread.h
│   │   ├── ktr.h
│   │   ├── ktrace.h
│   │   ├── libkern.h
│   │   ├── limits.h
│   │   ├── link_aout.h
│   │   ├── link_elf.h
│   │   ├── linker.h
│   │   ├── linker_set.h
│   │   ├── lock.h
│   │   ├── lock_profile.h
│   │   ├── lockf.h
│   │   ├── lockmgr.h
│   │   ├── lockstat.h
│   │   ├── loginclass.h
│   │   ├── mac.h
│   │   ├── malloc.h
│   │   ├── mbpool.h
│   │   ├── mbuf.h
│   │   ├── mchain.h
│   │   ├── md4.h
│   │   ├── md5.h
│   │   ├── mdioctl.h
│   │   ├── memrange.h
│   │   ├── mman.h
│   │   ├── module.h
│   │   ├── module_khelp.h
│   │   ├── mount.h
│   │   ├── mouse.h
│   │   ├── mpt_ioctl.h
│   │   ├── mqueue.h
│   │   ├── msg.h
│   │   ├── msgbuf.h
│   │   ├── mtio.h
│   │   ├── mutex.h
│   │   ├── namei.h
│   │   ├── nlist_aout.h
│   │   ├── osd.h
│   │   ├── param.h
│   │   ├── pciio.h
│   │   ├── pcpu.h
│   │   ├── pioctl.h
│   │   ├── pipe.h
│   │   ├── pmc.h
│   │   ├── pmckern.h
│   │   ├── pmclog.h
│   │   ├── poll.h
│   │   ├── posix4.h
│   │   ├── power.h
│   │   ├── priority.h
│   │   ├── priv.h
│   │   ├── proc.h
│   │   ├── procdesc.h
│   │   ├── procfs.h
│   │   ├── protosw.h
│   │   ├── ptio.h
│   │   ├── ptrace.h
│   │   ├── queue.h
│   │   ├── racct.h
│   │   ├── random.h
│   │   ├── rctl.h
│   │   ├── reboot.h
│   │   ├── refcount.h
│   │   ├── regression.h
│   │   ├── resource.h
│   │   ├── resourcevar.h
│   │   ├── rman.h
│   │   ├── rmlock.h
│   │   ├── rtprio.h
│   │   ├── runq.h
│   │   ├── rwlock.h
│   │   ├── sbuf.h
│   │   ├── sched.h
│   │   ├── sdt.h
│   │   ├── select.h
│   │   ├── selinfo.h
│   │   ├── sem.h
│   │   ├── sema.h
│   │   ├── serial.h
│   │   ├── sf_buf.h
│   │   ├── sglist.h
│   │   ├── shm.h
│   │   ├── sigio.h
│   │   ├── signal.h
│   │   ├── signalvar.h
│   │   ├── sleepqueue.h
│   │   ├── smp.h
│   │   ├── snoop.h
│   │   ├── sockbuf.h
│   │   ├── socket.h
│   │   ├── socketvar.h
│   │   ├── sockio.h
│   │   ├── sockopt.h
│   │   ├── sockstate.h
│   │   ├── soundcard.h
│   │   ├── stack.h
│   │   ├── stat.h
│   │   ├── statvfs.h
│   │   ├── stddef.h
│   │   ├── stdint.h
│   │   ├── sun_disklabel.h
│   │   ├── sx.h
│   │   ├── syscall.h
│   │   ├── syscallsubr.h
│   │   ├── sysctl.h
│   │   ├── sysent.h
│   │   ├── syslimits.h
│   │   ├── syslog.h
│   │   ├── sysproto.h
│   │   ├── systm.h
│   │   ├── taskqueue.h
│   │   ├── termios.h
│   │   ├── thr.h
│   │   ├── tiio.h
│   │   ├── time.h
│   │   ├── timeb.h
│   │   ├── timeet.h
│   │   ├── timepps.h
│   │   ├── timers.h
│   │   ├── times.h
│   │   ├── timespec.h
│   │   ├── timetc.h
│   │   ├── timex.h
│   │   ├── tree.h
│   │   ├── tty.h
│   │   ├── ttycom.h
│   │   ├── ttydefaults.h
│   │   ├── ttydevsw.h
│   │   ├── ttydisc.h
│   │   ├── ttyhook.h
│   │   ├── ttyqueue.h
│   │   ├── turnstile.h
│   │   ├── types.h
│   │   ├── ucontext.h
│   │   ├── ucred.h
│   │   ├── uio.h
│   │   ├── umtx.h
│   │   ├── un.h
│   │   ├── unistd.h
│   │   ├── unpcb.h
│   │   ├── user.h
│   │   ├── utsname.h
│   │   ├── uuid.h
│   │   ├── vmmeter.h
│   │   ├── vnode.h
│   │   ├── vtoc.h
│   │   ├── wait.h
│   │   └── watchdog.h
│   ├── sysexits.h
│   ├── taclib.h
│   ├── tar.h
│   ├── tcpd.h
│   ├── term.h
│   ├── termcap.h
│   ├── termios.h
│   ├── tgmath.h
│   ├── thread_db.h
│   ├── time.h
│   ├── timeconv.h
│   ├── timers.h
│   ├── ttyent.h
│   ├── ufs/
│   │   ├── ffs/
│   │   │   ├── ffs_extern.h
│   │   │   ├── fs.h
│   │   │   └── softdep.h
│   │   └── ufs/
│   │       ├── acl.h
│   │       ├── dinode.h
│   │       ├── dir.h
│   │       ├── dirhash.h
│   │       ├── extattr.h
│   │       ├── gjournal.h
│   │       ├── inode.h
│   │       ├── quota.h
│   │       ├── ufs_extern.h
│   │       └── ufsmount.h
│   ├── ugidfw.h
│   ├── ulimit.h
│   ├── ulog.h
│   ├── unctrl.h
│   ├── unistd.h
│   ├── usb.h
│   ├── usbhid.h
│   ├── utempter.h
│   ├── utime.h
│   ├── utmpx.h
│   ├── uuid.h
│   ├── varargs.h
│   ├── vgl.h
│   ├── vis.h
│   ├── vm/
│   │   ├── memguard.h
│   │   ├── pmap.h
│   │   ├── redzone.h
│   │   ├── swap_pager.h
│   │   ├── uma.h
│   │   ├── uma_dbg.h
│   │   ├── uma_int.h
│   │   ├── vm.h
│   │   ├── vm_extern.h
│   │   ├── vm_kern.h
│   │   ├── vm_map.h
│   │   ├── vm_object.h
│   │   ├── vm_page.h
│   │   ├── vm_pageout.h
│   │   ├── vm_pager.h
│   │   ├── vm_param.h
│   │   ├── vm_phys.h
│   │   ├── vm_reserv.h
│   │   └── vnode_pager.h
│   ├── wchar.h
│   ├── wctype.h
│   ├── wordexp.h
│   ├── x86/
│   │   ├── _align.h
│   │   ├── _inttypes.h
│   │   ├── apicreg.h
│   │   ├── apm_bios.h
│   │   ├── bus.h
│   │   ├── mca.h
│   │   ├── mptable.h
│   │   └── pci_cfgreg.h
│   ├── ypclnt.h
│   ├── zconf.h
│   └── zlib.h
├── gdb_stub/
│   ├── Makefile
│   ├── _end.c
│   ├── dbg.c
│   ├── dbg.h
│   ├── enhancer.py
│   ├── main.c
│   ├── ps4libs.c
│   ├── r0hooks.asm
│   ├── ring0.c
│   ├── strace.c
│   ├── strace_asm.asm
│   └── trap_state.h
├── lib/
│   ├── Makefile
│   ├── crt-elf-c.c
│   ├── crt-elf.asm
│   ├── crt.asm
│   ├── dl.c
│   ├── frankenelf.py
│   ├── rfork.asm
│   ├── syscalls-ps5.py
│   ├── syscalls.py
│   └── syscalls.txt
├── prosper0gdb/
│   ├── Makefile
│   ├── dbg.c
│   ├── import_offsets.py
│   ├── main.c
│   ├── offset_list.txt
│   ├── offsets.c
│   ├── offsets.h
│   ├── r0gdb.c
│   ├── r0gdb.h
│   ├── r0run.asm
│   ├── stuff/
│   │   └── offsets.txt
│   ├── trace_calls.py
│   ├── trace_decode.py
│   ├── trace_strings.py
│   └── tracefold.py
├── ps5-kstuff/
│   ├── 8cc-kekcalls.c
│   ├── Makefile
│   ├── Makefile.freebsd
│   ├── build_bearssl.sh
│   ├── build_libtomcrypt.sh
│   ├── freebsd-loader.c
│   ├── import_parasites.py
│   ├── kekcalls.txt
│   ├── kelf.asm
│   ├── main.c
│   ├── old/
│   │   ├── fself.inc
│   │   ├── fself_hooks.inc
│   │   ├── fself_syscalls.inc
│   │   ├── kek.asm
│   │   ├── parasites.inc
│   │   └── structs.inc
│   ├── overrides.h
│   ├── porting_tool/
│   │   ├── gdb_rpc.py
│   │   ├── main.py
│   │   ├── make_fself.py
│   │   ├── test_offsets.py
│   │   └── traces.py
│   ├── sqlite_triggers.c
│   ├── structs-freebsd.inc
│   ├── structs-ps5.inc
│   ├── uelf/
│   │   ├── crt.asm
│   │   ├── fakekeys.c
│   │   ├── fakekeys.h
│   │   ├── fpkg.c
│   │   ├── fpkg.h
│   │   ├── fpu.c
│   │   ├── fpu.h
│   │   ├── fself.c
│   │   ├── fself.h
│   │   ├── kekcall.c
│   │   ├── kekcall.h
│   │   ├── log.c
│   │   ├── log.h
│   │   ├── mailbox.c
│   │   ├── mailbox.h
│   │   ├── main.c
│   │   ├── npdrm.c
│   │   ├── npdrm.h
│   │   ├── parasite_desc.h
│   │   ├── parasites.h
│   │   ├── pfs_crypto.c
│   │   ├── pfs_crypto.h
│   │   ├── shared_area.h
│   │   ├── structs.h
│   │   ├── syscall_fixes.c
│   │   ├── syscall_fixes.h
│   │   ├── traps.h
│   │   ├── uexec.c
│   │   ├── uexec.h
│   │   ├── utils.c
│   │   └── utils.h
│   └── utils.c
└── ps5-kstuff-ldr/
    ├── Makefile
    ├── main.c
    └── sqlite_triggers.c

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/workflows/ci.yml
================================================
name: Rebuild With New SDK

on:
  push:
    paths-ignore:
      - "**/*.md"
      - '**/*.txt'
  pull_request:
    paths-ignore:
      - "**/*.md"
      - '**/*.txt'
  workflow_dispatch:

concurrency:
  group: ${{ github.ref }}-${{ github.event_name  }}
  cancel-in-progress: true

jobs:
  payload-build:
    runs-on: ubuntu-latest
    steps:

    - name: Checkout
      uses: actions/checkout@v4

    - name: Install dependencies
      run: |
        sudo apt update
        sudo apt install build-essential clang-18 lld-18 xxd yasm nasm

    - name: Install toolchain
      run: |
        wget https://github.com/ps5-payload-dev/pacbrew-repo/releases/latest/download/ps5-payload-dev.tar.gz
        sudo tar xf ps5-payload-dev.tar.gz -C /

    - name: Build Payload
      run: |
        export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
        bash ci-ps5-kstuff-ldr.sh

    - name: Upload Payload
      uses: actions/upload-artifact@v4
      with:
        name: Payload
        path: ./ps5-kstuff-ldr/kstuff.elf
        if-no-files-found: error


================================================
FILE: .gitmodules
================================================
[submodule "ps5-kstuff/BearSSL"]
	path = ps5-kstuff/BearSSL
	url = https://www.bearssl.org/git/BearSSL
[submodule "ps5-kstuff/libtomcrypt"]
	path = ps5-kstuff/libtomcrypt
	url = https://github.com/libtom/libtomcrypt


================================================
FILE: ci-ps5-kstuff-ldr.sh
================================================
#!/usr/bin/env bash

git submodule update --init --recursive || exit 1
cd ps5-kstuff
make
cd ..
cd ps5-kstuff-ldr
make


================================================
FILE: freebsd-headers/Block.h
================================================
/*
 * Block.h
 *
 * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge,
 * to any person obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following
 * conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */

#ifndef _BLOCK_H_
#define _BLOCK_H_

#if !defined(BLOCK_EXPORT)
#   if defined(__cplusplus)
#       define BLOCK_EXPORT extern "C" 
#   else
#       define BLOCK_EXPORT extern
#   endif
#endif

#if defined(__cplusplus)
extern "C" {
#endif

/* Create a heap based copy of a Block or simply add a reference to an existing one.
 * This must be paired with Block_release to recover memory, even when running
 * under Objective-C Garbage Collection.
 */
BLOCK_EXPORT void *_Block_copy(const void *aBlock);

/* Lose the reference, and if heap based and last reference, recover the memory. */
BLOCK_EXPORT void _Block_release(const void *aBlock);

#if defined(__cplusplus)
}
#endif

/* Type correct macros. */

#define Block_copy(...) ((__typeof(__VA_ARGS__))_Block_copy((const void *)(__VA_ARGS__)))
#define Block_release(...) _Block_release((const void *)(__VA_ARGS__))


#endif


================================================
FILE: freebsd-headers/Block_private.h
================================================
/*
 * Block_private.h
 *
 * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge,
 * to any person obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without restriction,
 * including without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following
 * conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */

#ifndef _BLOCK_PRIVATE_H_
#define _BLOCK_PRIVATE_H_

#if !defined(BLOCK_EXPORT)
#   if defined(__cplusplus)
#       define BLOCK_EXPORT extern "C" 
#   else
#       define BLOCK_EXPORT extern
#   endif
#endif

#ifndef _MSC_VER
#include <stdbool.h>
#else
/* MSVC doesn't have <stdbool.h>. Compensate. */
typedef char bool;
#define true (bool)1
#define false (bool)0
#endif

#if defined(__cplusplus)
extern "C" {
#endif


enum {
    BLOCK_REFCOUNT_MASK =     (0xffff),
    BLOCK_NEEDS_FREE =        (1 << 24),
    BLOCK_HAS_COPY_DISPOSE =  (1 << 25),
    BLOCK_HAS_CTOR =          (1 << 26), /* Helpers have C++ code. */
    BLOCK_IS_GC =             (1 << 27),
    BLOCK_IS_GLOBAL =         (1 << 28),
    BLOCK_HAS_DESCRIPTOR =    (1 << 29)
};


/* Revised new layout. */
struct Block_descriptor {
    unsigned long int reserved;
    unsigned long int size;
    void (*copy)(void *dst, void *src);
    void (*dispose)(void *);
};


struct Block_layout {
    void *isa;
    int flags;
    int reserved; 
    void (*invoke)(void *, ...);
    struct Block_descriptor *descriptor;
    /* Imported variables. */
};


struct Block_byref {
    void *isa;
    struct Block_byref *forwarding;
    int flags; /* refcount; */
    int size;
    void (*byref_keep)(struct Block_byref *dst, struct Block_byref *src);
    void (*byref_destroy)(struct Block_byref *);
    /* long shared[0]; */
};


struct Block_byref_header {
    void *isa;
    struct Block_byref *forwarding;
    int flags;
    int size;
};


/* Runtime support functions used by compiler when generating copy/dispose helpers. */

enum {
    /* See function implementation for a more complete description of these fields and combinations */
    BLOCK_FIELD_IS_OBJECT   =  3,  /* id, NSObject, __attribute__((NSObject)), block, ... */
    BLOCK_FIELD_IS_BLOCK    =  7,  /* a block variable */
    BLOCK_FIELD_IS_BYREF    =  8,  /* the on stack structure holding the __block variable */
    BLOCK_FIELD_IS_WEAK     = 16,  /* declared __weak, only used in byref copy helpers */
    BLOCK_BYREF_CALLER      = 128  /* called from __block (byref) copy/dispose support routines. */
};

/* Runtime entry point called by compiler when assigning objects inside copy helper routines */
BLOCK_EXPORT void _Block_object_assign(void *destAddr, const void *object, const int flags);
    /* BLOCK_FIELD_IS_BYREF is only used from within block copy helpers */


/* runtime entry point called by the compiler when disposing of objects inside dispose helper routine */
BLOCK_EXPORT void _Block_object_dispose(const void *object, const int flags);



/* Other support functions */

/* Runtime entry to get total size of a closure */
BLOCK_EXPORT unsigned long int Block_size(void *block_basic);



/* the raw data space for runtime classes for blocks */
/* class+meta used for stack, malloc, and collectable based blocks */
BLOCK_EXPORT void * _NSConcreteStackBlock[32];
BLOCK_EXPORT void * _NSConcreteMallocBlock[32];
BLOCK_EXPORT void * _NSConcreteAutoBlock[32];
BLOCK_EXPORT void * _NSConcreteFinalizingBlock[32];
BLOCK_EXPORT void * _NSConcreteGlobalBlock[32];
BLOCK_EXPORT void * _NSConcreteWeakBlockVariable[32];


/* the intercept routines that must be used under GC */
BLOCK_EXPORT void _Block_use_GC( void *(*alloc)(const unsigned long, const bool isOne, const bool isObject),
                                  void (*setHasRefcount)(const void *, const bool),
                                  void (*gc_assign_strong)(void *, void **),
                                  void (*gc_assign_weak)(const void *, void *),
                                  void (*gc_memmove)(void *, void *, unsigned long));

/* earlier version, now simply transitional */
BLOCK_EXPORT void _Block_use_GC5( void *(*alloc)(const unsigned long, const bool isOne, const bool isObject),
                                  void (*setHasRefcount)(const void *, const bool),
                                  void (*gc_assign_strong)(void *, void **),
                                  void (*gc_assign_weak)(const void *, void *));

BLOCK_EXPORT void _Block_use_RR( void (*retain)(const void *),
                                 void (*release)(const void *));

/* make a collectable GC heap based Block.  Not useful under non-GC. */
BLOCK_EXPORT void *_Block_copy_collectable(const void *aBlock);

/* thread-unsafe diagnostic */
BLOCK_EXPORT const char *_Block_dump(const void *block);


/* Obsolete */

/* first layout */
struct Block_basic {
    void *isa;
    int Block_flags;  /* int32_t */
    int Block_size;  /* XXX should be packed into Block_flags */
    void (*Block_invoke)(void *);
    void (*Block_copy)(void *dst, void *src);  /* iff BLOCK_HAS_COPY_DISPOSE */
    void (*Block_dispose)(void *);             /* iff BLOCK_HAS_COPY_DISPOSE */
    /* long params[0];  // where const imports, __block storage references, etc. get laid down */
};


#if defined(__cplusplus)
}
#endif


#endif /* _BLOCK_PRIVATE_H_ */


================================================
FILE: freebsd-headers/FlexLexer.h
================================================
// $Header: /home/daffy/u0/vern/flex/RCS/FlexLexer.h,v 1.19 96/05/25 20:43:02 vern Exp $
// $FreeBSD: release/9.0.0/usr.bin/lex/FlexLexer.h 126841 2004-03-11 10:43:35Z josef $

// FlexLexer.h -- define interfaces for lexical analyzer classes generated
//		  by flex

// Copyright (c) 1993 The Regents of the University of California.
// All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Kent Williams and Tom Epperly.
//
// Redistribution and use in source and binary forms are permitted provided
// that: (1) source distributions retain this entire copyright notice and
// comment, and (2) distributions including binaries display the following
// acknowledgement:  ``This product includes software developed by the
// University of California, Berkeley and its contributors'' in the
// documentation or other materials provided with the distribution and in
// all advertising materials mentioning features or use of this software.
// Neither the name of the University nor the names of its contributors may
// be used to endorse or promote products derived from this software without
// specific prior written permission.
// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

// This file defines FlexLexer, an abstract class which specifies the
// external interface provided to flex C++ lexer objects, and yyFlexLexer,
// which defines a particular lexer class.
//
// If you want to create multiple lexer classes, you use the -P flag
// to rename each yyFlexLexer to some other xxFlexLexer.  You then
// include <FlexLexer.h> in your other sources once per lexer class:
//
//	#undef yyFlexLexer
//	#define yyFlexLexer xxFlexLexer
//	#include <FlexLexer.h>
//
//	#undef yyFlexLexer
//	#define yyFlexLexer zzFlexLexer
//	#include <FlexLexer.h>
//	...

#ifndef __FLEX_LEXER_H
// Never included before - need to define base class.
#define __FLEX_LEXER_H
#include <iostream>

extern "C++" {

struct yy_buffer_state;
typedef int yy_state_type;

class FlexLexer {
public:
	virtual ~FlexLexer()	{ }

	const char* YYText()	{ return yytext; }
	int YYLeng()		{ return yyleng; }

	virtual void
		yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
	virtual struct yy_buffer_state*
		yy_create_buffer( std::istream* s, int size ) = 0;
	virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
	virtual void yyrestart( std::istream* s ) = 0;

	virtual int yylex() = 0;

	// Call yylex with new input/output sources.
	int yylex( std::istream* new_in, std::ostream* new_out = 0 )
		{
		switch_streams( new_in, new_out );
		return yylex();
		}

	// Switch to new input/output streams.  A nil stream pointer
	// indicates "keep the current one".
	virtual void switch_streams( std::istream* new_in = 0,
					std::ostream* new_out = 0 ) = 0;

	int lineno() const		{ return yylineno; }

	int debug() const		{ return yy_flex_debug; }
	void set_debug( int flag )	{ yy_flex_debug = flag; }

protected:
	char* yytext;
	int yyleng;
	int yylineno;		// only maintained if you use %option yylineno
	int yy_flex_debug;	// only has effect with -d or "%option debug"
};

}
#endif

#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
// Either this is the first time through (yyFlexLexerOnce not defined),
// or this is a repeated include to define a different flavor of
// yyFlexLexer, as discussed in the flex man page.
#define yyFlexLexerOnce

class yyFlexLexer : public FlexLexer {
public:
	// arg_yyin and arg_yyout default to the cin and cout, but we
	// only make that assignment when initializing in yylex().
	yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );

	virtual ~yyFlexLexer();

	void yy_switch_to_buffer( struct yy_buffer_state* new_buffer );
	struct yy_buffer_state* yy_create_buffer( std::istream* s, int size );
	void yy_delete_buffer( struct yy_buffer_state* b );
	void yyrestart( std::istream* s );

	virtual int yylex();
	virtual void switch_streams( std::istream* new_in, std::ostream* new_out );

protected:
	virtual int LexerInput( char* buf, int max_size );
	virtual void LexerOutput( const char* buf, int size );
	virtual void LexerError( const char* msg );

	void yyunput( int c, char* buf_ptr );
	int yyinput();

	void yy_load_buffer_state();
	void yy_init_buffer( struct yy_buffer_state* b, std::istream* s );
	void yy_flush_buffer( struct yy_buffer_state* b );

	int yy_start_stack_ptr;
	int yy_start_stack_depth;
	int* yy_start_stack;

	void yy_push_state( int new_state );
	void yy_pop_state();
	int yy_top_state();

	yy_state_type yy_get_previous_state();
	yy_state_type yy_try_NUL_trans( yy_state_type current_state );
	int yy_get_next_buffer();

	std::istream* yyin;	// input source for default LexerInput
	std::ostream* yyout;	// output sink for default LexerOutput

	struct yy_buffer_state* yy_current_buffer;

	// yy_hold_char holds the character lost when yytext is formed.
	char yy_hold_char;

	// Number of characters read into yy_ch_buf.
	int yy_n_chars;

	// Points to current character in buffer.
	char* yy_c_buf_p;

	int yy_init;		// whether we need to initialize
	int yy_start;		// start state number

	// Flag which is used to allow yywrap()'s to do buffer switches
	// instead of setting up a fresh yyin.  A bit of a hack ...
	int yy_did_buffer_switch_on_eof;

	// The following are not always needed, but may be depending
	// on use of certain flex features (like REJECT or yymore()).

	yy_state_type yy_last_accepting_state;
	char* yy_last_accepting_cpos;

	yy_state_type* yy_state_buf;
	yy_state_type* yy_state_ptr;

	char* yy_full_match;
	int* yy_full_state;
	int yy_full_lp;

	int yy_lp;
	int yy_looking_for_trail_begin;

	int yy_more_flag;
	int yy_more_len;
	int yy_more_offset;
	int yy_prev_more_offset;
};

#endif


================================================
FILE: freebsd-headers/_ctype.h
================================================
/*
 * Copyright (c) 1989, 1993
 *	The Regents of the University of California.  All rights reserved.
 * (c) UNIX System Laboratories, Inc.
 * All or some portions of this file are derived from material licensed
 * to the University of California by American Telephone and Telegraph
 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
 * the permission of UNIX System Laboratories, Inc.
 *
 * This code is derived from software contributed to Berkeley by
 * Paul Borman at Krystal Technologies.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * From @(#)ctype.h	8.4 (Berkeley) 1/21/94
 * From FreeBSD: src/include/ctype.h,v 1.27 2004/06/23 07:11:39 tjr Exp
 * $FreeBSD: release/9.0.0/include/_ctype.h 203964 2010-02-16 19:39:50Z imp $
 */

#ifndef __CTYPE_H_
#define	__CTYPE_H_

#include <sys/cdefs.h>
#include <sys/_types.h>

#define	_CTYPE_A	0x00000100L		/* Alpha */
#define	_CTYPE_C	0x00000200L		/* Control */
#define	_CTYPE_D	0x00000400L		/* Digit */
#define	_CTYPE_G	0x00000800L		/* Graph */
#define	_CTYPE_L	0x00001000L		/* Lower */
#define	_CTYPE_P	0x00002000L		/* Punct */
#define	_CTYPE_S	0x00004000L		/* Space */
#define	_CTYPE_U	0x00008000L		/* Upper */
#define	_CTYPE_X	0x00010000L		/* X digit */
#define	_CTYPE_B	0x00020000L		/* Blank */
#define	_CTYPE_R	0x00040000L		/* Print */
#define	_CTYPE_I	0x00080000L		/* Ideogram */
#define	_CTYPE_T	0x00100000L		/* Special */
#define	_CTYPE_Q	0x00200000L		/* Phonogram */
#define	_CTYPE_SW0	0x20000000L		/* 0 width character */
#define	_CTYPE_SW1	0x40000000L		/* 1 width character */
#define	_CTYPE_SW2	0x80000000L		/* 2 width character */
#define	_CTYPE_SW3	0xc0000000L		/* 3 width character */
#define	_CTYPE_SWM	0xe0000000L		/* Mask for screen width data */
#define	_CTYPE_SWS	30			/* Bits to shift to get width */

/* See comments in <sys/_types.h> about __ct_rune_t. */
__BEGIN_DECLS
unsigned long	___runetype(__ct_rune_t) __pure;
__ct_rune_t	___tolower(__ct_rune_t) __pure;
__ct_rune_t	___toupper(__ct_rune_t) __pure;
__END_DECLS

/*
 * _EXTERNALIZE_CTYPE_INLINES_ is defined in locale/nomacros.c to tell us
 * to generate code for extern versions of all our inline functions.
 */
#ifdef _EXTERNALIZE_CTYPE_INLINES_
#define	_USE_CTYPE_INLINE_
#define	static
#define	__inline
#endif

extern int __mb_sb_limit;

/*
 * Use inline functions if we are allowed to and the compiler supports them.
 */
#if !defined(_DONT_USE_CTYPE_INLINE_) && \
    (defined(_USE_CTYPE_INLINE_) || defined(__GNUC__) || defined(__cplusplus))

#include <runetype.h>

static __inline int
__maskrune(__ct_rune_t _c, unsigned long _f)
{
	return ((_c < 0 || _c >= _CACHED_RUNES) ? ___runetype(_c) :
		_CurrentRuneLocale->__runetype[_c]) & _f;
}

static __inline int
__sbmaskrune(__ct_rune_t _c, unsigned long _f)
{
	return (_c < 0 || _c >= __mb_sb_limit) ? 0 :
	       _CurrentRuneLocale->__runetype[_c] & _f;
}

static __inline int
__istype(__ct_rune_t _c, unsigned long _f)
{
	return (!!__maskrune(_c, _f));
}

static __inline int
__sbistype(__ct_rune_t _c, unsigned long _f)
{
	return (!!__sbmaskrune(_c, _f));
}

static __inline int
__isctype(__ct_rune_t _c, unsigned long _f)
{
	return (_c < 0 || _c >= 128) ? 0 :
	       !!(_DefaultRuneLocale.__runetype[_c] & _f);
}

static __inline __ct_rune_t
__toupper(__ct_rune_t _c)
{
	return (_c < 0 || _c >= _CACHED_RUNES) ? ___toupper(_c) :
	       _CurrentRuneLocale->__mapupper[_c];
}

static __inline __ct_rune_t
__sbtoupper(__ct_rune_t _c)
{
	return (_c < 0 || _c >= __mb_sb_limit) ? _c :
	       _CurrentRuneLocale->__mapupper[_c];
}

static __inline __ct_rune_t
__tolower(__ct_rune_t _c)
{
	return (_c < 0 || _c >= _CACHED_RUNES) ? ___tolower(_c) :
	       _CurrentRuneLocale->__maplower[_c];
}

static __inline __ct_rune_t
__sbtolower(__ct_rune_t _c)
{
	return (_c < 0 || _c >= __mb_sb_limit) ? _c :
	       _CurrentRuneLocale->__maplower[_c];
}

static __inline int
__wcwidth(__ct_rune_t _c)
{
	unsigned int _x;

	if (_c == 0)
		return (0);
	_x = (unsigned int)__maskrune(_c, _CTYPE_SWM|_CTYPE_R);
	if ((_x & _CTYPE_SWM) != 0)
		return ((_x & _CTYPE_SWM) >> _CTYPE_SWS);
	return ((_x & _CTYPE_R) != 0 ? 1 : -1);
}

#else /* not using inlines */

__BEGIN_DECLS
int		__maskrune(__ct_rune_t, unsigned long);
int		__sbmaskrune(__ct_rune_t, unsigned long);
int		__istype(__ct_rune_t, unsigned long);
int		__sbistype(__ct_rune_t, unsigned long);
int		__isctype(__ct_rune_t, unsigned long);
__ct_rune_t	__toupper(__ct_rune_t);
__ct_rune_t	__sbtoupper(__ct_rune_t);
__ct_rune_t	__tolower(__ct_rune_t);
__ct_rune_t	__sbtolower(__ct_rune_t);
int		__wcwidth(__ct_rune_t);
__END_DECLS
#endif /* using inlines */

#endif /* !__CTYPE_H_ */


================================================
FILE: freebsd-headers/a.out.h
================================================
/*-
 * Copyright (c) 1991, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)a.out.h	8.1 (Berkeley) 6/2/93
 * $FreeBSD: release/9.0.0/include/a.out.h 203964 2010-02-16 19:39:50Z imp $
 */

#ifndef	_AOUT_H_
#define	_AOUT_H_

#include <sys/types.h>
#include <machine/exec.h>
#include <sys/endian.h>
#include <sys/imgact_aout.h>
#include <machine/reloc.h>

#define _AOUT_INCLUDE_
#include <nlist.h>

#endif /* !_AOUT_H_ */


================================================
FILE: freebsd-headers/alias.h
================================================
/* lint -save -library Flexelint comment for external headers */

/*-
 * Copyright (c) 2001 Charles Mott <cm@linktel.net>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * $FreeBSD: release/9.0.0/sys/netinet/libalias/alias.h 223080 2011-06-14 13:35:24Z ae $
 */

/*
 * Alias.h defines the outside world interfaces for the packet aliasing
 * software.
 *
 * This software is placed into the public domain with no restrictions on its
 * distribution.
 */

#ifndef _ALIAS_H_
#define	_ALIAS_H_

#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>

#define LIBALIAS_BUF_SIZE 128
#ifdef	_KERNEL
/*
 * The kernel version of libalias does not support these features.
 */
#define	NO_FW_PUNCH
#define	NO_USE_SOCKETS
#endif

/*
 * The external interface to libalias, the packet aliasing engine.
 *
 * There are two sets of functions:
 *
 * PacketAlias*() the old API which doesn't take an instance pointer
 * and therefore can only have one packet engine at a time.
 *
 * LibAlias*() the new API which takes as first argument a pointer to
 * the instance of the packet aliasing engine.
 *
 * The functions otherwise correspond to each other one for one, except
 * for the LibAliasUnaliasOut()/PacketUnaliasOut() function which were
 * were misnamed in the old API.
 */

/*
 * The instance structure
 */
struct libalias;

/*
 * An anonymous structure, a pointer to which is returned from
 * PacketAliasRedirectAddr(), PacketAliasRedirectPort() or
 * PacketAliasRedirectProto(), passed to PacketAliasAddServer(),
 * and freed by PacketAliasRedirectDelete().
 */
struct alias_link;

/* Initialization and control functions. */
struct libalias *LibAliasInit(struct libalias *);
void		LibAliasSetAddress(struct libalias *, struct in_addr _addr);
void		LibAliasSetFWBase(struct libalias *, unsigned int _base, unsigned int _num);
void		LibAliasSetSkinnyPort(struct libalias *, unsigned int _port);
unsigned int
		LibAliasSetMode(struct libalias *, unsigned int _flags, unsigned int _mask);
void		LibAliasUninit(struct libalias *);

/* Packet Handling functions. */
int		LibAliasIn (struct libalias *, char *_ptr, int _maxpacketsize);
int		LibAliasOut(struct libalias *, char *_ptr, int _maxpacketsize);
int		LibAliasOutTry(struct libalias *, char *_ptr, int _maxpacketsize, int _create);
int		LibAliasUnaliasOut(struct libalias *, char *_ptr, int _maxpacketsize);

/* Port and address redirection functions. */

int
LibAliasAddServer(struct libalias *, struct alias_link *_lnk,
    struct in_addr _addr, unsigned short _port);
struct alias_link *
LibAliasRedirectAddr(struct libalias *, struct in_addr _src_addr,
    struct in_addr _alias_addr);
int		LibAliasRedirectDynamic(struct libalias *, struct alias_link *_lnk);
void		LibAliasRedirectDelete(struct libalias *, struct alias_link *_lnk);
struct alias_link *
LibAliasRedirectPort(struct libalias *, struct in_addr _src_addr,
    unsigned short _src_port, struct in_addr _dst_addr,
    unsigned short _dst_port, struct in_addr _alias_addr,
    unsigned short _alias_port, unsigned char _proto);
struct alias_link *
LibAliasRedirectProto(struct libalias *, struct in_addr _src_addr,
    struct in_addr _dst_addr, struct in_addr _alias_addr,
    unsigned char _proto);

/* Fragment Handling functions. */
void		LibAliasFragmentIn(struct libalias *, char *_ptr, char *_ptr_fragment);
char           *LibAliasGetFragment(struct libalias *, char *_ptr);
int		LibAliasSaveFragment(struct libalias *, char *_ptr);

/* Miscellaneous functions. */
int		LibAliasCheckNewLink(struct libalias *);
unsigned short
		LibAliasInternetChecksum(struct libalias *, unsigned short *_ptr, int _nbytes);
void		LibAliasSetTarget(struct libalias *, struct in_addr _target_addr);

/* Transparent proxying routines. */
int		LibAliasProxyRule(struct libalias *, const char *_cmd);

/* Module handling API */
int             LibAliasLoadModule(char *);
int             LibAliasUnLoadAllModule(void);
int             LibAliasRefreshModules(void);

/* Mbuf helper function. */
struct mbuf    *m_megapullup(struct mbuf *, int);

/*
 * Mode flags and other constants.
 */


/* Mode flags, set using PacketAliasSetMode() */

/*
 * If PKT_ALIAS_LOG is set, a message will be printed to /var/log/alias.log
 * every time a link is created or deleted.  This is useful for debugging.
 */
#define	PKT_ALIAS_LOG			0x01

/*
 * If PKT_ALIAS_DENY_INCOMING is set, then incoming connections (e.g. to ftp,
 * telnet or web servers will be prevented by the aliasing mechanism.
 */
#define	PKT_ALIAS_DENY_INCOMING		0x02

/*
 * If PKT_ALIAS_SAME_PORTS is set, packets will be attempted sent from the
 * same port as they originated on.  This allows e.g. rsh to work *99% of the
 * time*, but _not_ 100% (it will be slightly flakey instead of not working
 * at all).  This mode bit is set by PacketAliasInit(), so it is a default
 * mode of operation.
 */
#define	PKT_ALIAS_SAME_PORTS		0x04

/*
 * If PKT_ALIAS_USE_SOCKETS is set, then when partially specified links (e.g.
 * destination port and/or address is zero), the packet aliasing engine will
 * attempt to allocate a socket for the aliasing port it chooses.  This will
 * avoid interference with the host machine.  Fully specified links do not
 * require this.  This bit is set after a call to PacketAliasInit(), so it is
 * a default mode of operation.
 */
#ifndef	NO_USE_SOCKETS
#define	PKT_ALIAS_USE_SOCKETS		0x08
#endif
/*-
 * If PKT_ALIAS_UNREGISTERED_ONLY is set, then only packets with
 * unregistered source addresses will be aliased.  Private
 * addresses are those in the following ranges:
 *
 *		10.0.0.0     ->   10.255.255.255
 *		172.16.0.0   ->   172.31.255.255
 *		192.168.0.0  ->   192.168.255.255
 */
#define	PKT_ALIAS_UNREGISTERED_ONLY	0x10

/*
 * If PKT_ALIAS_RESET_ON_ADDR_CHANGE is set, then the table of dynamic
 * aliasing links will be reset whenever PacketAliasSetAddress() changes the
 * default aliasing address.  If the default aliasing address is left
 * unchanged by this function call, then the table of dynamic aliasing links
 * will be left intact.  This bit is set after a call to PacketAliasInit().
 */
#define	PKT_ALIAS_RESET_ON_ADDR_CHANGE	0x20

/*
 * If PKT_ALIAS_PROXY_ONLY is set, then NAT will be disabled and only
 * transparent proxying is performed.
 */
#define	PKT_ALIAS_PROXY_ONLY		0x40

/*
 * If PKT_ALIAS_REVERSE is set, the actions of PacketAliasIn() and
 * PacketAliasOut() are reversed.
 */
#define	PKT_ALIAS_REVERSE		0x80

#ifndef NO_FW_PUNCH
/*
 * If PKT_ALIAS_PUNCH_FW is set, active FTP and IRC DCC connections will
 * create a 'hole' in the firewall to allow the transfers to work.  The
 * ipfw rule number that the hole is created with is controlled by
 * PacketAliasSetFWBase().  The hole will be attached to that
 * particular alias_link, so when the link goes away the hole is deleted.
 */
#define	PKT_ALIAS_PUNCH_FW		0x100
#endif

/*
 * If PKT_ALIAS_SKIP_GLOBAL is set, nat instance is not checked for matching
 * states in 'ipfw nat global' rule.
 */
#define	PKT_ALIAS_SKIP_GLOBAL		0x200

/* Function return codes. */
#define	PKT_ALIAS_ERROR			-1
#define	PKT_ALIAS_OK			1
#define	PKT_ALIAS_IGNORED		2
#define	PKT_ALIAS_UNRESOLVED_FRAGMENT	3
#define	PKT_ALIAS_FOUND_HEADER_FRAGMENT	4

#endif				/* !_ALIAS_H_ */

/* lint -restore */


================================================
FILE: freebsd-headers/altq/altq.h
================================================
/*	$FreeBSD: release/9.0.0/sys/contrib/altq/altq/altq.h 130368 2004-06-12 00:57:20Z mlaier $	*/
/*	$KAME: altq.h,v 1.10 2003/07/10 12:07:47 kjc Exp $	*/

/*
 * Copyright (C) 1998-2003
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */
#ifndef _ALTQ_ALTQ_H_
#define	_ALTQ_ALTQ_H_

#if 0
/*
 * allow altq-3 (altqd(8) and /dev/altq) to coexist with the new pf-based altq.
 * altq3 is mainly for research experiments. pf-based altq is for daily use.
 */
#define ALTQ3_COMPAT		/* for compatibility with altq-3 */
#define ALTQ3_CLFIER_COMPAT	/* for compatibility with altq-3 classifier */
#endif

#ifdef ALTQ3_COMPAT
#include <sys/param.h>
#include <sys/ioccom.h>
#include <sys/queue.h>
#include <netinet/in.h>

#ifndef IFNAMSIZ
#define	IFNAMSIZ	16
#endif
#endif /* ALTQ3_COMPAT */

/* altq discipline type */
#define	ALTQT_NONE		0	/* reserved */
#define	ALTQT_CBQ		1	/* cbq */
#define	ALTQT_WFQ		2	/* wfq */
#define	ALTQT_AFMAP		3	/* afmap */
#define	ALTQT_FIFOQ		4	/* fifoq */
#define	ALTQT_RED		5	/* red */
#define	ALTQT_RIO		6	/* rio */
#define	ALTQT_LOCALQ		7	/* local use */
#define	ALTQT_HFSC		8	/* hfsc */
#define	ALTQT_CDNR		9	/* traffic conditioner */
#define	ALTQT_BLUE		10	/* blue */
#define	ALTQT_PRIQ		11	/* priority queue */
#define	ALTQT_JOBS		12	/* JoBS */
#define	ALTQT_MAX		13	/* should be max discipline type + 1 */

#ifdef ALTQ3_COMPAT
struct	altqreq {
	char	ifname[IFNAMSIZ];	/* if name, e.g. "en0" */
	u_long	arg;			/* request-specific argument */
};
#endif

/* simple token backet meter profile */
struct	tb_profile {
	u_int	rate;	/* rate in bit-per-sec */
	u_int	depth;	/* depth in bytes */
};

#ifdef ALTQ3_COMPAT
struct	tbrreq {
	char	ifname[IFNAMSIZ];	/* if name, e.g. "en0" */
	struct	tb_profile tb_prof;	/* token bucket profile */
};

#ifdef ALTQ3_CLFIER_COMPAT
/*
 * common network flow info structure
 */
struct flowinfo {
	u_char		fi_len;		/* total length */
	u_char		fi_family;	/* address family */
	u_int8_t	fi_data[46];	/* actually longer; address family
					   specific flow info. */
};

/*
 * flow info structure for internet protocol family.
 * (currently this is the only protocol family supported)
 */
struct flowinfo_in {
	u_char		fi_len;		/* sizeof(struct flowinfo_in) */
	u_char		fi_family;	/* AF_INET */
	u_int8_t	fi_proto;	/* IPPROTO_XXX */
	u_int8_t	fi_tos;		/* type-of-service */
	struct in_addr	fi_dst;		/* dest address */
	struct in_addr	fi_src;		/* src address */
	u_int16_t	fi_dport;	/* dest port */
	u_int16_t	fi_sport;	/* src port */
	u_int32_t	fi_gpi;		/* generalized port id for ipsec */
	u_int8_t	_pad[28];	/* make the size equal to
					   flowinfo_in6 */
};

#ifdef SIN6_LEN
struct flowinfo_in6 {
	u_char		fi6_len;	/* sizeof(struct flowinfo_in6) */
	u_char		fi6_family;	/* AF_INET6 */
	u_int8_t	fi6_proto;	/* IPPROTO_XXX */
	u_int8_t	fi6_tclass;	/* traffic class */
	u_int32_t	fi6_flowlabel;	/* ipv6 flowlabel */
	u_int16_t	fi6_dport;	/* dest port */
	u_int16_t	fi6_sport;	/* src port */
	u_int32_t	fi6_gpi;	/* generalized port id */
	struct in6_addr fi6_dst;	/* dest address */
	struct in6_addr fi6_src;	/* src address */
};
#endif /* INET6 */

/*
 * flow filters for AF_INET and AF_INET6
 */
struct flow_filter {
	int			ff_ruleno;
	struct flowinfo_in	ff_flow;
	struct {
		struct in_addr	mask_dst;
		struct in_addr	mask_src;
		u_int8_t	mask_tos;
		u_int8_t	_pad[3];
	} ff_mask;
	u_int8_t _pad2[24];	/* make the size equal to flow_filter6 */
};

#ifdef SIN6_LEN
struct flow_filter6 {
	int			ff_ruleno;
	struct flowinfo_in6	ff_flow6;
	struct {
		struct in6_addr	mask6_dst;
		struct in6_addr	mask6_src;
		u_int8_t	mask6_tclass;
		u_int8_t	_pad[3];
	} ff_mask6;
};
#endif /* INET6 */
#endif /* ALTQ3_CLFIER_COMPAT */
#endif /* ALTQ3_COMPAT */

/*
 * generic packet counter
 */
struct pktcntr {
	u_int64_t	packets;
	u_int64_t	bytes;
};

#define	PKTCNTR_ADD(cntr, len)	\
	do { (cntr)->packets++; (cntr)->bytes += len; } while (/*CONSTCOND*/ 0)

#ifdef ALTQ3_COMPAT
/*
 * altq related ioctls
 */
#define	ALTQGTYPE	_IOWR('q', 0, struct altqreq)	/* get queue type */
#if 0
/*
 * these ioctls are currently discipline-specific but could be shared
 * in the future.
 */
#define	ALTQATTACH	_IOW('q', 1, struct altqreq)	/* attach discipline */
#define	ALTQDETACH	_IOW('q', 2, struct altqreq)	/* detach discipline */
#define	ALTQENABLE	_IOW('q', 3, struct altqreq)	/* enable discipline */
#define	ALTQDISABLE	_IOW('q', 4, struct altqreq)	/* disable discipline*/
#define	ALTQCLEAR	_IOW('q', 5, struct altqreq)	/* (re)initialize */
#define	ALTQCONFIG	_IOWR('q', 6, struct altqreq)	/* set config params */
#define	ALTQADDCLASS	_IOWR('q', 7, struct altqreq)	/* add a class */
#define	ALTQMODCLASS	_IOWR('q', 8, struct altqreq)	/* modify a class */
#define	ALTQDELCLASS	_IOWR('q', 9, struct altqreq)	/* delete a class */
#define	ALTQADDFILTER	_IOWR('q', 10, struct altqreq)	/* add a filter */
#define	ALTQDELFILTER	_IOWR('q', 11, struct altqreq)	/* delete a filter */
#define	ALTQGETSTATS	_IOWR('q', 12, struct altqreq)	/* get statistics */
#define	ALTQGETCNTR	_IOWR('q', 13, struct altqreq)	/* get a pkt counter */
#endif /* 0 */
#define	ALTQTBRSET	_IOW('q', 14, struct tbrreq)	/* set tb regulator */
#define	ALTQTBRGET	_IOWR('q', 15, struct tbrreq)	/* get tb regulator */
#endif /* ALTQ3_COMPAT */

#ifdef _KERNEL
#include <altq/altq_var.h>
#endif

#endif /* _ALTQ_ALTQ_H_ */


================================================
FILE: freebsd-headers/altq/altq_cbq.h
================================================
/*	$KAME: altq_cbq.h,v 1.12 2003/10/03 05:05:15 kjc Exp $	*/

/*
 * Copyright (c) Sun Microsystems, Inc. 1993-1998 All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by the SMCC Technology
 *      Development Group at Sun Microsystems, Inc.
 *
 * 4. The name of the Sun Microsystems, Inc nor may not be used to endorse or
 *      promote products derived from this software without specific prior
 *      written permission.
 *
 * SUN MICROSYSTEMS DOES NOT CLAIM MERCHANTABILITY OF THIS SOFTWARE OR THE
 * SUITABILITY OF THIS SOFTWARE FOR ANY PARTICULAR PURPOSE.  The software is
 * provided "as is" without express or implied warranty of any kind.
 *
 * These notices must be retained in any copies of any part of this software.
 */

#ifndef _ALTQ_ALTQ_CBQ_H_
#define	_ALTQ_ALTQ_CBQ_H_

#include <altq/altq.h>
#include <altq/altq_rmclass.h>
#include <altq/altq_red.h>
#include <altq/altq_rio.h>

#ifdef __cplusplus
extern "C" {
#endif

#define	NULL_CLASS_HANDLE	0

/* class flags should be same as class flags in rm_class.h */
#define	CBQCLF_RED		0x0001	/* use RED */
#define	CBQCLF_ECN		0x0002  /* use RED/ECN */
#define	CBQCLF_RIO		0x0004  /* use RIO */
#define	CBQCLF_FLOWVALVE	0x0008	/* use flowvalve (aka penalty-box) */
#define	CBQCLF_CLEARDSCP	0x0010  /* clear diffserv codepoint */
#define	CBQCLF_BORROW		0x0020  /* borrow from parent */

/* class flags only for root class */
#define	CBQCLF_WRR		0x0100	/* weighted-round robin */
#define	CBQCLF_EFFICIENT	0x0200  /* work-conserving */

/* class flags for special classes */
#define	CBQCLF_ROOTCLASS	0x1000	/* root class */
#define	CBQCLF_DEFCLASS		0x2000	/* default class */
#ifdef ALTQ3_COMPAT
#define	CBQCLF_CTLCLASS		0x4000	/* control class */
#endif
#define	CBQCLF_CLASSMASK	0xf000	/* class mask */

#define	CBQ_MAXQSIZE		200
#define	CBQ_MAXPRI		RM_MAXPRIO

typedef struct _cbq_class_stats_ {
	u_int32_t	handle;
	u_int		depth;

	struct pktcntr	xmit_cnt;	/* packets sent in this class */
	struct pktcntr	drop_cnt;	/* dropped packets */
	u_int		over;		/* # times went over limit */
	u_int		borrows;	/* # times tried to borrow */
	u_int		overactions;	/* # times invoked overlimit action */
	u_int		delays;		/* # times invoked delay actions */

	/* other static class parameters useful for debugging */
	int		priority;
	int		maxidle;
	int		minidle;
	int		offtime;
	int		qmax;
	int		ns_per_byte;
	int		wrr_allot;

	int		qcnt;		/* # packets in queue */
	int		avgidle;

	/* red and rio related info */
	int		qtype;
	struct redstats	red[3];
} class_stats_t;

#ifdef ALTQ3_COMPAT
/*
 * Define structures associated with IOCTLS for cbq.
 */

/*
 * Define the CBQ interface structure.  This must be included in all
 * IOCTL's such that the CBQ driver may find the appropriate CBQ module
 * associated with the network interface to be affected.
 */
struct cbq_interface {
	char	cbq_ifacename[IFNAMSIZ];
};

typedef struct cbq_class_spec {
	u_int		priority;
	u_int		nano_sec_per_byte;
	u_int		maxq;
	u_int		maxidle;
	int		minidle;
	u_int		offtime;
	u_int32_t	parent_class_handle;
	u_int32_t	borrow_class_handle;

	u_int		pktsize;
	int		flags;
} cbq_class_spec_t;

struct cbq_add_class {
	struct cbq_interface	cbq_iface;

	cbq_class_spec_t	cbq_class;
	u_int32_t		cbq_class_handle;
};

struct cbq_delete_class {
	struct cbq_interface	cbq_iface;
	u_int32_t		cbq_class_handle;
};

struct cbq_modify_class {
	struct cbq_interface	cbq_iface;

	cbq_class_spec_t	cbq_class;
	u_int32_t		cbq_class_handle;
};

struct cbq_add_filter {
	struct cbq_interface		cbq_iface;
	u_int32_t		cbq_class_handle;
	struct flow_filter	cbq_filter;

	u_long			cbq_filter_handle;
};

struct cbq_delete_filter {
	struct cbq_interface	cbq_iface;
	u_long			cbq_filter_handle;
};

/* number of classes are returned in nclasses field */
struct cbq_getstats {
	struct cbq_interface	iface;
	int			nclasses;
	class_stats_t		*stats;
};

/*
 * Define IOCTLs for CBQ.
 */
#define	CBQ_IF_ATTACH		_IOW('Q', 1, struct cbq_interface)
#define	CBQ_IF_DETACH		_IOW('Q', 2, struct cbq_interface)
#define	CBQ_ENABLE		_IOW('Q', 3, struct cbq_interface)
#define	CBQ_DISABLE		_IOW('Q', 4, struct cbq_interface)
#define	CBQ_CLEAR_HIERARCHY	_IOW('Q', 5, struct cbq_interface)
#define	CBQ_ADD_CLASS		_IOWR('Q', 7, struct cbq_add_class)
#define	CBQ_DEL_CLASS		_IOW('Q', 8, struct cbq_delete_class)
#define	CBQ_MODIFY_CLASS	_IOWR('Q', 9, struct cbq_modify_class)
#define	CBQ_ADD_FILTER		_IOWR('Q', 10, struct cbq_add_filter)
#define	CBQ_DEL_FILTER		_IOW('Q', 11, struct cbq_delete_filter)
#define	CBQ_GETSTATS		_IOWR('Q', 12, struct cbq_getstats)
#endif /* ALTQ3_COMPAT */

#ifdef _KERNEL
/*
 * Define macros only good for kernel drivers and modules.
 */
#define	CBQ_WATCHDOG		(hz / 20)
#define	CBQ_TIMEOUT		10
#define	CBQ_LS_TIMEOUT		(20 * hz / 1000)

#define	CBQ_MAX_CLASSES	256

#ifdef ALTQ3_COMPAT
#define	CBQ_MAX_FILTERS 256

#define	DISABLE		0x00
#define	ENABLE		0x01
#endif /* ALTQ3_COMPAT */

/*
 * Define State structures.
 */
typedef struct cbqstate {
#ifdef ALTQ3_COMPAT
	struct cbqstate		*cbq_next;
#endif
	int			 cbq_qlen;	/* # of packets in cbq */
	struct rm_class		*cbq_class_tbl[CBQ_MAX_CLASSES];

	struct rm_ifdat		 ifnp;
	struct callout		 cbq_callout;	/* for timeouts */
#ifdef ALTQ3_CLFIER_COMPAT
	struct acc_classifier	cbq_classifier;
#endif
} cbq_state_t;

#endif /* _KERNEL */

#ifdef __cplusplus
}
#endif

#endif /* !_ALTQ_ALTQ_CBQ_H_ */


================================================
FILE: freebsd-headers/altq/altq_cdnr.h
================================================
/*	$KAME: altq_cdnr.h,v 1.9 2003/07/10 12:07:48 kjc Exp $	*/

/*
 * Copyright (C) 1999-2002
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#ifndef _ALTQ_ALTQ_CDNR_H_
#define	_ALTQ_ALTQ_CDNR_H_

#include <altq/altq.h>

/*
 * traffic conditioner element types
 */
#define	TCETYPE_NONE		0
#define	TCETYPE_TOP		1	/* top level conditioner */
#define	TCETYPE_ELEMENT		2	/* a simple tc element */
#define	TCETYPE_TBMETER		3	/* token bucket meter */
#define	TCETYPE_TRTCM		4	/* (two-rate) three color marker */
#define	TCETYPE_TSWTCM		5	/* time sliding window 3-color maker */

/*
 * traffic conditioner action
 */
struct cdnr_block;

struct tc_action {
	int	tca_code;	/* e.g., TCACODE_PASS */
	/* tca_code dependent variable */
	union {
		u_long		un_value;	/* template */
		u_int8_t	un_dscp;	/* diffserv code point */
		u_long		un_handle;	/* tc action handle */
		struct cdnr_block *un_next;	/* next tc element block */
	} tca_un;
};
#define	tca_value	tca_un.un_value
#define	tca_dscp	tca_un.un_dscp
#define	tca_handle	tca_un.un_handle
#define	tca_next	tca_un.un_next

#define	TCACODE_NONE	0	/* action is not set */
#define	TCACODE_PASS	1 	/* pass this packet */
#define	TCACODE_DROP	2	/* discard this packet */
#define	TCACODE_RETURN	3	/* do not process this packet */
#define	TCACODE_MARK	4	/* mark dscp */
#define	TCACODE_HANDLE	5	/* take action specified by handle */
#define	TCACODE_NEXT	6	/* take action in the next tc element */
#define	TCACODE_MAX	6

#define	CDNR_NULL_HANDLE	0

struct cdnr_interface {
	char	cdnr_ifname[IFNAMSIZ];  /* interface name (e.g., fxp0) */
};

/* simple element operations */
struct cdnr_add_element {
	struct cdnr_interface	iface;
	struct tc_action	action;

	u_long			cdnr_handle;	/* return value */
};

struct cdnr_delete_element {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
};

/* token-bucket meter operations */
struct cdnr_add_tbmeter {
	struct cdnr_interface	iface;
	struct tb_profile	profile;
	struct tc_action	in_action;
	struct tc_action	out_action;

	u_long			cdnr_handle;	/* return value */
};

struct cdnr_modify_tbmeter {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
	struct tb_profile	profile;
};

struct cdnr_tbmeter_stats {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
	struct pktcntr		in_cnt;
	struct pktcntr		out_cnt;
};

/* two-rate three-color marker operations */
struct cdnr_add_trtcm {
	struct cdnr_interface	iface;
	struct tb_profile	cmtd_profile;	/* profile for committed tb */
	struct tb_profile	peak_profile;	/* profile for peak tb */
	struct tc_action	green_action;	/* action for green packets */
	struct tc_action	yellow_action;	/* action for yellow packets */
	struct tc_action	red_action;	/* action for red packets */
	int			coloraware;	/* color-aware/color-blind */

	u_long			cdnr_handle;	/* return value */
};

struct cdnr_modify_trtcm {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
	struct tb_profile	cmtd_profile;	/* profile for committed tb */
	struct tb_profile	peak_profile;	/* profile for peak tb */
	int			coloraware;	/* color-aware/color-blind */
};

struct cdnr_tcm_stats {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
	struct pktcntr		green_cnt;
	struct pktcntr		yellow_cnt;
	struct pktcntr		red_cnt;
};

/* time sliding window three-color marker operations */
struct cdnr_add_tswtcm {
	struct cdnr_interface	iface;
	u_int32_t		cmtd_rate;	/* committed rate (bits/sec) */
	u_int32_t		peak_rate;	/* peak rate (bits/sec) */
	u_int32_t		avg_interval;	/* averaging interval (msec) */
	struct tc_action	green_action;	/* action for green packets */
	struct tc_action	yellow_action;	/* action for yellow packets */
	struct tc_action	red_action;	/* action for red packets */

	u_long			cdnr_handle;	/* return value */
};

struct cdnr_modify_tswtcm {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
	u_int32_t		cmtd_rate;	/* committed rate (bits/sec) */
	u_int32_t		peak_rate;	/* peak rate (bits/sec) */
	u_int32_t		avg_interval;	/* averaging interval (msec) */
};

struct cdnr_add_filter {
	struct cdnr_interface	iface;
	u_long			cdnr_handle;
#ifdef ALTQ3_CLFIER_COMPAT
	struct flow_filter	filter;
#endif
	u_long			filter_handle;	/* return value */
};

struct cdnr_delete_filter {
	struct cdnr_interface	iface;
	u_long			filter_handle;
};

struct tce_stats {
	u_long			tce_handle;	/* tc element handle */
	int			tce_type;	/* e.g., TCETYPE_ELEMENT */
	struct pktcntr		tce_cnts[3];	/* tcm returns 3 counters */
};

struct cdnr_get_stats {
	struct cdnr_interface	iface;
	struct pktcntr		cnts[TCACODE_MAX+1];

	/* element stats */
	int			nskip;		/* skip # of elements */
	int			nelements;	/* # of element stats (WR) */
	struct tce_stats	*tce_stats;	/* pointer to stats array */
};

#define	CDNR_IF_ATTACH		_IOW('Q', 1, struct cdnr_interface)
#define	CDNR_IF_DETACH		_IOW('Q', 2, struct cdnr_interface)
#define	CDNR_ENABLE		_IOW('Q', 3, struct cdnr_interface)
#define	CDNR_DISABLE		_IOW('Q', 4, struct cdnr_interface)
#define	CDNR_ADD_FILTER		_IOWR('Q', 10, struct cdnr_add_filter)
#define	CDNR_DEL_FILTER		_IOW('Q', 11, struct cdnr_delete_filter)
#define	CDNR_GETSTATS		_IOWR('Q', 12, struct cdnr_get_stats)
#define	CDNR_ADD_ELEM		_IOWR('Q', 30, struct cdnr_add_element)
#define	CDNR_DEL_ELEM		_IOW('Q', 31, struct cdnr_delete_element)
#define	CDNR_ADD_TBM		_IOWR('Q', 32, struct cdnr_add_tbmeter)
#define	CDNR_MOD_TBM		_IOW('Q', 33, struct cdnr_modify_tbmeter)
#define	CDNR_TBM_STATS		_IOWR('Q', 34, struct cdnr_tbmeter_stats)
#define	CDNR_ADD_TCM		_IOWR('Q', 35, struct cdnr_add_trtcm)
#define	CDNR_MOD_TCM		_IOWR('Q', 36, struct cdnr_modify_trtcm)
#define	CDNR_TCM_STATS		_IOWR('Q', 37, struct cdnr_tcm_stats)
#define	CDNR_ADD_TSW		_IOWR('Q', 38, struct cdnr_add_tswtcm)
#define	CDNR_MOD_TSW		_IOWR('Q', 39, struct cdnr_modify_tswtcm)

#ifndef DSCP_EF
/* diffserve code points */
#define	DSCP_MASK	0xfc
#define	DSCP_CUMASK	0x03
#define	DSCP_EF		0xb8
#define	DSCP_AF11	0x28
#define	DSCP_AF12	0x30
#define	DSCP_AF13	0x38
#define	DSCP_AF21	0x48
#define	DSCP_AF22	0x50
#define	DSCP_AF23	0x58
#define	DSCP_AF31	0x68
#define	DSCP_AF32	0x70
#define	DSCP_AF33	0x78
#define	DSCP_AF41	0x88
#define	DSCP_AF42	0x90
#define	DSCP_AF43	0x98
#define	AF_CLASSMASK		0xe0
#define	AF_DROPPRECMASK		0x18
#endif

#ifdef _KERNEL

/*
 * packet information passed to the input function of tc elements
 */
struct cdnr_pktinfo {
	int		pkt_len;	/* packet length */
	u_int8_t	pkt_dscp;	/* diffserv code point */
};

/*
 * traffic conditioner control block common to all types of tc elements
 */
struct cdnr_block {
	LIST_ENTRY(cdnr_block)	cb_next;
	int		cb_len;		/* size of this tc element */
	int		cb_type;	/* cdnr block type */
	int		cb_ref;		/* reference count of this element */
	u_long		cb_handle;	/* handle of this tc element */
	struct top_cdnr *cb_top;	/* back pointer to top */
	struct tc_action cb_action;	/* top level action for this tcb */
	struct tc_action *(*cb_input)(struct cdnr_block *,
				      struct cdnr_pktinfo *);
};

/*
 * top level traffic conditioner structure for an interface
 */
struct top_cdnr {
	struct cdnr_block	tc_block;

	LIST_ENTRY(top_cdnr)	tc_next;
	struct ifaltq		*tc_ifq;

	LIST_HEAD(, cdnr_block) tc_elements;
#ifdef ALTQ3_CLFIER_COMPAT
	struct acc_classifier	tc_classifier;
#endif
	struct pktcntr		tc_cnts[TCACODE_MAX+1];
};

/* token bucket element */
struct tbe {
	u_int64_t	rate;
	u_int64_t	depth;

	u_int64_t	token;
	u_int64_t	filluptime;
	u_int64_t	last;
};

/* token bucket meter structure */
struct tbmeter {
	struct cdnr_block	cdnrblk;	/* conditioner block */
	struct tbe		tb;		/* token bucket */
	struct tc_action	in_action;	/* actions for IN/OUT */
	struct tc_action	out_action;	/* actions for IN/OUT */
	struct pktcntr		in_cnt;		/* statistics for IN/OUT */
	struct pktcntr		out_cnt;	/* statistics for IN/OUT */
};

/* two-rate three-color marker structure */
struct trtcm {
	struct cdnr_block	cdnrblk;	/* conditioner block */
	struct tbe		cmtd_tb;	/* committed tb profile */
	struct tbe		peak_tb;	/* peak tb profile */
	struct tc_action	green_action;
	struct tc_action	yellow_action;
	struct tc_action	red_action;
	int			coloraware;
	u_int8_t		green_dscp;
	u_int8_t		yellow_dscp;
	u_int8_t		red_dscp;
	struct pktcntr		green_cnt;
	struct pktcntr		yellow_cnt;
	struct pktcntr		red_cnt;
};

/* time sliding window three-color marker structure */
struct tswtcm {
	struct cdnr_block	cdnrblk;	/* conditioner block */

	u_int32_t		avg_rate;	/* average rate (bytes/sec) */
	u_int64_t		t_front;	/* timestamp of last update */

	u_int64_t		timewin;	/* average interval */
	u_int32_t		cmtd_rate;	/* committed target rate */
	u_int32_t		peak_rate;	/* peak target rate */
	struct tc_action	green_action;
	struct tc_action	yellow_action;
	struct tc_action	red_action;
	u_int8_t		green_dscp;
	u_int8_t		yellow_dscp;
	u_int8_t		red_dscp;
	struct pktcntr		green_cnt;
	struct pktcntr		yellow_cnt;
	struct pktcntr		red_cnt;
};

#endif /* _KERNEL */

#endif /* _ALTQ_ALTQ_CDNR_H_ */


================================================
FILE: freebsd-headers/altq/altq_classq.h
================================================
/*	$KAME: altq_classq.h,v 1.6 2003/01/07 07:33:38 kjc Exp $	*/

/*
 * Copyright (c) 1991-1997 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the Network Research
 *	Group at Lawrence Berkeley Laboratory.
 * 4. Neither the name of the University nor of the Laboratory may be used
 *    to endorse or promote products derived from this software without
 *    specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */
/*
 * class queue definitions extracted from rm_class.h.
 */
#ifndef _ALTQ_ALTQ_CLASSQ_H_
#define	_ALTQ_ALTQ_CLASSQ_H_

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Packet Queue types: RED or DROPHEAD.
 */
#define	Q_DROPHEAD	0x00
#define	Q_RED		0x01
#define	Q_RIO		0x02
#define	Q_DROPTAIL	0x03

#ifdef _KERNEL

/*
 * Packet Queue structures and macros to manipulate them.
 */
struct _class_queue_ {
	struct mbuf	*tail_;	/* Tail of packet queue */
	int	qlen_;		/* Queue length (in number of packets) */
	int	qlim_;		/* Queue limit (in number of packets*) */
	int	qtype_;		/* Queue type */
};

typedef struct _class_queue_	class_queue_t;

#define	qtype(q)	(q)->qtype_		/* Get queue type */
#define	qlimit(q)	(q)->qlim_		/* Max packets to be queued */
#define	qlen(q)		(q)->qlen_		/* Current queue length. */
#define	qtail(q)	(q)->tail_		/* Tail of the queue */
#define	qhead(q)	((q)->tail_ ? (q)->tail_->m_nextpkt : NULL)

#define	qempty(q)	((q)->qlen_ == 0)	/* Is the queue empty?? */
#define	q_is_red(q)	((q)->qtype_ == Q_RED)	/* Is the queue a red queue */
#define	q_is_rio(q)	((q)->qtype_ == Q_RIO)	/* Is the queue a rio queue */
#define	q_is_red_or_rio(q)	((q)->qtype_ == Q_RED || (q)->qtype_ == Q_RIO)

#if !defined(__GNUC__) || defined(ALTQ_DEBUG)

extern void		_addq(class_queue_t *, struct mbuf *);
extern struct mbuf	*_getq(class_queue_t *);
extern struct mbuf	*_getq_tail(class_queue_t *);
extern struct mbuf	*_getq_random(class_queue_t *);
extern void		_removeq(class_queue_t *, struct mbuf *);
extern void		_flushq(class_queue_t *);

#else /* __GNUC__ && !ALTQ_DEBUG */
/*
 * inlined versions
 */
static __inline void
_addq(class_queue_t *q, struct mbuf *m)
{
        struct mbuf *m0;

	if ((m0 = qtail(q)) != NULL)
		m->m_nextpkt = m0->m_nextpkt;
	else
		m0 = m;
	m0->m_nextpkt = m;
	qtail(q) = m;
	qlen(q)++;
}

static __inline struct mbuf *
_getq(class_queue_t *q)
{
	struct mbuf  *m, *m0;

	if ((m = qtail(q)) == NULL)
		return (NULL);
	if ((m0 = m->m_nextpkt) != m)
		m->m_nextpkt = m0->m_nextpkt;
	else
		qtail(q) = NULL;
	qlen(q)--;
	m0->m_nextpkt = NULL;
	return (m0);
}

/* drop a packet at the tail of the queue */
static __inline struct mbuf *
_getq_tail(class_queue_t *q)
{
	struct mbuf *m, *m0, *prev;

	if ((m = m0 = qtail(q)) == NULL)
		return NULL;
	do {
		prev = m0;
		m0 = m0->m_nextpkt;
	} while (m0 != m);
	prev->m_nextpkt = m->m_nextpkt;
	if (prev == m)
		qtail(q) = NULL;
	else
		qtail(q) = prev;
	qlen(q)--;
	m->m_nextpkt = NULL;
	return (m);
}

/* randomly select a packet in the queue */
static __inline struct mbuf *
_getq_random(class_queue_t *q)
{
	struct mbuf *m;
	int i, n;

	if ((m = qtail(q)) == NULL)
		return NULL;
	if (m->m_nextpkt == m)
		qtail(q) = NULL;
	else {
		struct mbuf *prev = NULL;

		n = random() % qlen(q) + 1;
		for (i = 0; i < n; i++) {
			prev = m;
			m = m->m_nextpkt;
		}
		prev->m_nextpkt = m->m_nextpkt;
		if (m == qtail(q))
			qtail(q) = prev;
	}
	qlen(q)--;
	m->m_nextpkt = NULL;
	return (m);
}

static __inline void
_removeq(class_queue_t *q, struct mbuf *m)
{
	struct mbuf *m0, *prev;

	m0 = qtail(q);
	do {
		prev = m0;
		m0 = m0->m_nextpkt;
	} while (m0 != m);
	prev->m_nextpkt = m->m_nextpkt;
	if (prev == m)
		qtail(q) = NULL;
	else if (qtail(q) == m)
		qtail(q) = prev;
	qlen(q)--;
}

static __inline void
_flushq(class_queue_t *q)
{
	struct mbuf *m;

	while ((m = _getq(q)) != NULL)
		m_freem(m);
}

#endif /* __GNUC__ && !ALTQ_DEBUG */

#endif /* _KERNEL */

#ifdef __cplusplus
}
#endif

#endif /* _ALTQ_ALTQ_CLASSQ_H_ */


================================================
FILE: freebsd-headers/altq/altq_hfsc.h
================================================
/*	$KAME: altq_hfsc.h,v 1.12 2003/12/05 05:40:46 kjc Exp $	*/

/*
 * Copyright (c) 1997-1999 Carnegie Mellon University. All Rights Reserved.
 *
 * Permission to use, copy, modify, and distribute this software and
 * its documentation is hereby granted (including for commercial or
 * for-profit use), provided that both the copyright notice and this
 * permission notice appear in all copies of the software, derivative
 * works, or modified versions, and any portions thereof.
 *
 * THIS SOFTWARE IS EXPERIMENTAL AND IS KNOWN TO HAVE BUGS, SOME OF
 * WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON PROVIDES THIS
 * SOFTWARE IN ITS ``AS IS'' CONDITION, AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 * Carnegie Mellon encourages (but does not require) users of this
 * software to return any improvements or extensions that they make,
 * and to grant Carnegie Mellon the rights to redistribute these
 * changes without encumbrance.
 */
#ifndef _ALTQ_ALTQ_HFSC_H_
#define	_ALTQ_ALTQ_HFSC_H_

#include <altq/altq.h>
#include <altq/altq_classq.h>
#include <altq/altq_red.h>
#include <altq/altq_rio.h>

#ifdef __cplusplus
extern "C" {
#endif

struct service_curve {
	u_int	m1;	/* slope of the first segment in bits/sec */
	u_int	d;	/* the x-projection of the first segment in msec */
	u_int	m2;	/* slope of the second segment in bits/sec */
};

/* special class handles */
#define	HFSC_NULLCLASS_HANDLE	0
#define	HFSC_MAX_CLASSES	64

/* hfsc class flags */
#define	HFCF_RED		0x0001	/* use RED */
#define	HFCF_ECN		0x0002  /* use RED/ECN */
#define	HFCF_RIO		0x0004  /* use RIO */
#define	HFCF_CLEARDSCP		0x0010  /* clear diffserv codepoint */
#define	HFCF_DEFAULTCLASS	0x1000	/* default class */

/* service curve types */
#define	HFSC_REALTIMESC		1
#define	HFSC_LINKSHARINGSC	2
#define	HFSC_UPPERLIMITSC	4
#define	HFSC_DEFAULTSC		(HFSC_REALTIMESC|HFSC_LINKSHARINGSC)

struct hfsc_classstats {
	u_int			class_id;
	u_int32_t		class_handle;
	struct service_curve	rsc;
	struct service_curve	fsc;
	struct service_curve	usc;	/* upper limit service curve */

	u_int64_t		total;	/* total work in bytes */
	u_int64_t		cumul;	/* cumulative work in bytes
					   done by real-time criteria */
	u_int64_t		d;		/* deadline */
	u_int64_t		e;		/* eligible time */
	u_int64_t		vt;		/* virtual time */
	u_int64_t		f;		/* fit time for upper-limit */

	/* info helpful for debugging */
	u_int64_t		initvt;		/* init virtual time */
	u_int64_t		vtoff;		/* cl_vt_ipoff */
	u_int64_t		cvtmax;		/* cl_maxvt */
	u_int64_t		myf;		/* cl_myf */
	u_int64_t		cfmin;		/* cl_mincf */
	u_int64_t		cvtmin;		/* cl_mincvt */
	u_int64_t		myfadj;		/* cl_myfadj */
	u_int64_t		vtadj;		/* cl_vtadj */
	u_int64_t		cur_time;
	u_int32_t		machclk_freq;

	u_int			qlength;
	u_int			qlimit;
	struct pktcntr		xmit_cnt;
	struct pktcntr		drop_cnt;
	u_int			period;

	u_int			vtperiod;	/* vt period sequence no */
	u_int			parentperiod;	/* parent's vt period seqno */
	int			nactive;	/* number of active children */

	/* red and rio related info */
	int			qtype;
	struct redstats		red[3];
};

#ifdef ALTQ3_COMPAT
struct hfsc_interface {
	char	hfsc_ifname[IFNAMSIZ];  /* interface name (e.g., fxp0) */
};

struct hfsc_attach {
	struct hfsc_interface	iface;
	u_int			bandwidth;  /* link bandwidth in bits/sec */
};

struct hfsc_add_class {
	struct hfsc_interface	iface;
	u_int32_t		parent_handle;
	struct service_curve	service_curve;
	int			qlimit;
	int			flags;

	u_int32_t		class_handle;  /* return value */
};

struct hfsc_delete_class {
	struct hfsc_interface	iface;
	u_int32_t		class_handle;
};

struct hfsc_modify_class {
	struct hfsc_interface	iface;
	u_int32_t		class_handle;
	struct service_curve	service_curve;
	int			sctype;
};

struct hfsc_add_filter {
	struct hfsc_interface	iface;
	u_int32_t		class_handle;
	struct flow_filter	filter;

	u_long			filter_handle;  /* return value */
};

struct hfsc_delete_filter {
	struct hfsc_interface	iface;
	u_long			filter_handle;
};

struct hfsc_class_stats {
	struct hfsc_interface	iface;
	int			nskip;		/* skip # of classes */
	int			nclasses;	/* # of class stats (WR) */
	u_int64_t		cur_time;	/* current time */
	u_int32_t		machclk_freq;	/* machine clock frequency */
	u_int			hif_classes;	/* # of classes in the tree */
	u_int			hif_packets;	/* # of packets in the tree */
	struct hfsc_classstats	*stats;		/* pointer to stats array */
};

#define	HFSC_IF_ATTACH		_IOW('Q', 1, struct hfsc_attach)
#define	HFSC_IF_DETACH		_IOW('Q', 2, struct hfsc_interface)
#define	HFSC_ENABLE		_IOW('Q', 3, struct hfsc_interface)
#define	HFSC_DISABLE		_IOW('Q', 4, struct hfsc_interface)
#define	HFSC_CLEAR_HIERARCHY	_IOW('Q', 5, struct hfsc_interface)
#define	HFSC_ADD_CLASS		_IOWR('Q', 7, struct hfsc_add_class)
#define	HFSC_DEL_CLASS		_IOW('Q', 8, struct hfsc_delete_class)
#define	HFSC_MOD_CLASS		_IOW('Q', 9, struct hfsc_modify_class)
#define	HFSC_ADD_FILTER		_IOWR('Q', 10, struct hfsc_add_filter)
#define	HFSC_DEL_FILTER		_IOW('Q', 11, struct hfsc_delete_filter)
#define	HFSC_GETSTATS		_IOWR('Q', 12, struct hfsc_class_stats)
#endif /* ALTQ3_COMPAT */

#ifdef _KERNEL
/*
 * kernel internal service curve representation
 *	coordinates are given by 64 bit unsigned integers.
 *	x-axis: unit is clock count.  for the intel x86 architecture,
 *		the raw Pentium TSC (Timestamp Counter) value is used.
 *		virtual time is also calculated in this time scale.
 *	y-axis: unit is byte.
 *
 *	the service curve parameters are converted to the internal
 *	representation.
 *	the slope values are scaled to avoid overflow.
 *	the inverse slope values as well as the y-projection of the 1st
 *	segment are kept in order to to avoid 64-bit divide operations
 *	that are expensive on 32-bit architectures.
 *
 *  note: Intel Pentium TSC never wraps around in several thousands of years.
 *	x-axis doesn't wrap around for 1089 years with 1GHz clock.
 *      y-axis doesn't wrap around for 4358 years with 1Gbps bandwidth.
 */

/* kernel internal representation of a service curve */
struct internal_sc {
	u_int64_t	sm1;	/* scaled slope of the 1st segment */
	u_int64_t	ism1;	/* scaled inverse-slope of the 1st segment */
	u_int64_t	dx;	/* the x-projection of the 1st segment */
	u_int64_t	dy;	/* the y-projection of the 1st segment */
	u_int64_t	sm2;	/* scaled slope of the 2nd segment */
	u_int64_t	ism2;	/* scaled inverse-slope of the 2nd segment */
};

/* runtime service curve */
struct runtime_sc {
	u_int64_t	x;	/* current starting position on x-axis */
	u_int64_t	y;	/* current starting position on x-axis */
	u_int64_t	sm1;	/* scaled slope of the 1st segment */
	u_int64_t	ism1;	/* scaled inverse-slope of the 1st segment */
	u_int64_t	dx;	/* the x-projection of the 1st segment */
	u_int64_t	dy;	/* the y-projection of the 1st segment */
	u_int64_t	sm2;	/* scaled slope of the 2nd segment */
	u_int64_t	ism2;	/* scaled inverse-slope of the 2nd segment */
};

/* for TAILQ based ellist and actlist implementation */
struct hfsc_class;
typedef TAILQ_HEAD(_eligible, hfsc_class) ellist_t;
typedef TAILQ_ENTRY(hfsc_class) elentry_t;
typedef TAILQ_HEAD(_active, hfsc_class) actlist_t;
typedef TAILQ_ENTRY(hfsc_class) actentry_t;
#define	ellist_first(s)		TAILQ_FIRST(s)
#define	actlist_first(s)	TAILQ_FIRST(s)
#define	actlist_last(s)		TAILQ_LAST(s, _active)

struct hfsc_class {
	u_int		cl_id;		/* class id (just for debug) */
	u_int32_t	cl_handle;	/* class handle */
	struct hfsc_if	*cl_hif;	/* back pointer to struct hfsc_if */
	int		cl_flags;	/* misc flags */

	struct hfsc_class *cl_parent;	/* parent class */
	struct hfsc_class *cl_siblings;	/* sibling classes */
	struct hfsc_class *cl_children;	/* child classes */

	class_queue_t	*cl_q;		/* class queue structure */
	struct red	*cl_red;	/* RED state */
	struct altq_pktattr *cl_pktattr; /* saved header used by ECN */

	u_int64_t	cl_total;	/* total work in bytes */
	u_int64_t	cl_cumul;	/* cumulative work in bytes
					   done by real-time criteria */
	u_int64_t	cl_d;		/* deadline */
	u_int64_t	cl_e;		/* eligible time */
	u_int64_t	cl_vt;		/* virtual time */
	u_int64_t	cl_f;		/* time when this class will fit for
					   link-sharing, max(myf, cfmin) */
	u_int64_t	cl_myf;		/* my fit-time (as calculated from this
					   class's own upperlimit curve) */
	u_int64_t	cl_myfadj;	/* my fit-time adjustment
					   (to cancel history dependence) */
	u_int64_t	cl_cfmin;	/* earliest children's fit-time (used
					   with cl_myf to obtain cl_f) */
	u_int64_t	cl_cvtmin;	/* minimal virtual time among the
					   children fit for link-sharing
					   (monotonic within a period) */
	u_int64_t	cl_vtadj;	/* intra-period cumulative vt
					   adjustment */
	u_int64_t	cl_vtoff;	/* inter-period cumulative vt offset */
	u_int64_t	cl_cvtmax;	/* max child's vt in the last period */

	u_int64_t	cl_initvt;	/* init virtual time (for debugging) */

	struct internal_sc *cl_rsc;	/* internal real-time service curve */
	struct internal_sc *cl_fsc;	/* internal fair service curve */
	struct internal_sc *cl_usc;	/* internal upperlimit service curve */
	struct runtime_sc  cl_deadline;	/* deadline curve */
	struct runtime_sc  cl_eligible;	/* eligible curve */
	struct runtime_sc  cl_virtual;	/* virtual curve */
	struct runtime_sc  cl_ulimit;	/* upperlimit curve */

	u_int		cl_vtperiod;	/* vt period sequence no */
	u_int		cl_parentperiod;  /* parent's vt period seqno */
	int		cl_nactive;	/* number of active children */
	actlist_t	*cl_actc;	/* active children list */

	actentry_t	cl_actlist;	/* active children list entry */
	elentry_t	cl_ellist;	/* eligible list entry */

	struct {
		struct pktcntr	xmit_cnt;
		struct pktcntr	drop_cnt;
		u_int period;
	} cl_stats;
};

/*
 * hfsc interface state
 */
struct hfsc_if {
	struct hfsc_if		*hif_next;	/* interface state list */
	struct ifaltq		*hif_ifq;	/* backpointer to ifaltq */
	struct hfsc_class	*hif_rootclass;		/* root class */
	struct hfsc_class	*hif_defaultclass;	/* default class */
	struct hfsc_class	*hif_class_tbl[HFSC_MAX_CLASSES];
	struct hfsc_class	*hif_pollcache;	/* cache for poll operation */

	u_int	hif_classes;			/* # of classes in the tree */
	u_int	hif_packets;			/* # of packets in the tree */
	u_int	hif_classid;			/* class id sequence number */

	ellist_t *hif_eligible;			/* eligible list */

#ifdef ALTQ3_CLFIER_COMPAT
	struct acc_classifier	hif_classifier;
#endif
};

#endif /* _KERNEL */

#ifdef __cplusplus
}
#endif

#endif /* _ALTQ_ALTQ_HFSC_H_ */


================================================
FILE: freebsd-headers/altq/altq_priq.h
================================================
/*	$KAME: altq_priq.h,v 1.7 2003/10/03 05:05:15 kjc Exp $	*/
/*
 * Copyright (C) 2000-2003
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#ifndef _ALTQ_ALTQ_PRIQ_H_
#define	_ALTQ_ALTQ_PRIQ_H_

#include <altq/altq.h>
#include <altq/altq_classq.h>
#include <altq/altq_red.h>
#include <altq/altq_rio.h>

#ifdef __cplusplus
extern "C" {
#endif

#define	PRIQ_MAXPRI	16	/* upper limit of the number of priorities */

#ifdef ALTQ3_COMPAT
struct priq_interface {
	char	ifname[IFNAMSIZ];	/* interface name (e.g., fxp0) */
	u_long	arg;			/* request-specific argument */
};

struct priq_add_class {
	struct priq_interface	iface;
	int			pri;	/* priority (0 is the lowest) */
	int			qlimit;	/* queue size limit */
	int			flags;	/* misc flags (see below) */

	u_int32_t		class_handle;  /* return value */
};
#endif /* ALTQ3_COMPAT */

/* priq class flags */
#define	PRCF_RED		0x0001	/* use RED */
#define	PRCF_ECN		0x0002  /* use RED/ECN */
#define	PRCF_RIO		0x0004  /* use RIO */
#define	PRCF_CLEARDSCP		0x0010  /* clear diffserv codepoint */
#define	PRCF_DEFAULTCLASS	0x1000	/* default class */

/* special class handles */
#define	PRIQ_NULLCLASS_HANDLE	0

#ifdef ALTQ3_COMPAT
struct priq_delete_class {
	struct priq_interface	iface;
	u_int32_t		class_handle;
};

struct priq_modify_class {
	struct priq_interface	iface;
	u_int32_t		class_handle;
	int			pri;
	int			qlimit;
	int			flags;
};

struct priq_add_filter {
	struct priq_interface	iface;
	u_int32_t		class_handle;
	struct flow_filter	filter;

	u_long			filter_handle;  /* return value */
};

struct priq_delete_filter {
	struct priq_interface	iface;
	u_long			filter_handle;
};
#endif /* ALTQ3_COMPAT */

struct priq_classstats {
	u_int32_t		class_handle;

	u_int			qlength;
	u_int			qlimit;
	u_int			period;
	struct pktcntr		xmitcnt;  /* transmitted packet counter */
	struct pktcntr		dropcnt;  /* dropped packet counter */

	/* red and rio related info */
	int			qtype;
	struct redstats		red[3];	/* rio has 3 red stats */
};

#ifdef ALTQ3_COMPAT
struct priq_class_stats {
	struct priq_interface	iface;
	int			maxpri;	  /* in/out */

	struct priq_classstats	*stats;   /* pointer to stats array */
};

#define	PRIQ_IF_ATTACH		_IOW('Q', 1, struct priq_interface)
#define	PRIQ_IF_DETACH		_IOW('Q', 2, struct priq_interface)
#define	PRIQ_ENABLE		_IOW('Q', 3, struct priq_interface)
#define	PRIQ_DISABLE		_IOW('Q', 4, struct priq_interface)
#define	PRIQ_CLEAR		_IOW('Q', 5, struct priq_interface)
#define	PRIQ_ADD_CLASS		_IOWR('Q', 7, struct priq_add_class)
#define	PRIQ_DEL_CLASS		_IOW('Q', 8, struct priq_delete_class)
#define	PRIQ_MOD_CLASS		_IOW('Q', 9, struct priq_modify_class)
#define	PRIQ_ADD_FILTER		_IOWR('Q', 10, struct priq_add_filter)
#define	PRIQ_DEL_FILTER		_IOW('Q', 11, struct priq_delete_filter)
#define	PRIQ_GETSTATS		_IOWR('Q', 12, struct priq_class_stats)

#endif /* ALTQ3_COMPAT */

#ifdef _KERNEL

struct priq_class {
	u_int32_t	cl_handle;	/* class handle */
	class_queue_t	*cl_q;		/* class queue structure */
	struct red	*cl_red;	/* RED state */
	int		cl_pri;		/* priority */
	int		cl_flags;	/* class flags */
	struct priq_if	*cl_pif;	/* back pointer to pif */
	struct altq_pktattr *cl_pktattr; /* saved header used by ECN */

	/* statistics */
	u_int		cl_period;	/* backlog period */
	struct pktcntr  cl_xmitcnt;	/* transmitted packet counter */
	struct pktcntr  cl_dropcnt;	/* dropped packet counter */
};

/*
 * priq interface state
 */
struct priq_if {
	struct priq_if		*pif_next;	/* interface state list */
	struct ifaltq		*pif_ifq;	/* backpointer to ifaltq */
	u_int			pif_bandwidth;	/* link bandwidth in bps */
	int			pif_maxpri;	/* max priority in use */
	struct priq_class	*pif_default;	/* default class */
	struct priq_class	*pif_classes[PRIQ_MAXPRI]; /* classes */
#ifdef ALTQ3_CLFIER_COMPAT
	struct acc_classifier	pif_classifier;	/* classifier */
#endif
};

#endif /* _KERNEL */

#ifdef __cplusplus
}
#endif

#endif /* _ALTQ_ALTQ_PRIQ_H_ */


================================================
FILE: freebsd-headers/altq/altq_red.h
================================================
/*	$KAME: altq_red.h,v 1.8 2003/07/10 12:07:49 kjc Exp $	*/

/*
 * Copyright (C) 1997-2003
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#ifndef _ALTQ_ALTQ_RED_H_
#define	_ALTQ_ALTQ_RED_H_

#include <altq/altq_classq.h>

#ifdef ALTQ3_COMPAT
struct red_interface {
	char	red_ifname[IFNAMSIZ];
};

struct red_stats {
	struct red_interface iface;
	int q_len;
	int q_avg;

	struct pktcntr	xmit_cnt;
	struct pktcntr	drop_cnt;
	u_int		drop_forced;
	u_int		drop_unforced;
	u_int		marked_packets;

	/* static red parameters */
	int q_limit;
	int weight;
	int inv_pmax;
	int th_min;
	int th_max;

	/* flowvalve related stuff */
	u_int fv_flows;
	u_int fv_pass;
	u_int fv_predrop;
	u_int fv_alloc;
	u_int fv_escape;
};

struct red_conf {
	struct red_interface iface;
	int red_weight;		/* weight for EWMA */
	int red_inv_pmax;	/* inverse of max drop probability */
	int red_thmin;		/* red min threshold */
	int red_thmax;		/* red max threshold */
	int red_limit;		/* max queue length */
	int red_pkttime;	/* average packet time in usec */
	int red_flags;		/* see below */
};
#endif /* ALTQ3_COMPAT */

/* red flags */
#define	REDF_ECN4	0x01	/* use packet marking for IPv4 packets */
#define	REDF_ECN6	0x02	/* use packet marking for IPv6 packets */
#define	REDF_ECN	(REDF_ECN4 | REDF_ECN6)
#define	REDF_FLOWVALVE	0x04	/* use flowvalve (aka penalty-box) */

/*
 * simpler versions of red parameters and statistics used by other
 * disciplines (e.g., CBQ)
 */
struct redparams {
	int th_min;		/* red min threshold */
	int th_max;		/* red max threshold */
	int inv_pmax;		/* inverse of max drop probability */
};

struct redstats {
	int		q_avg;
	struct pktcntr	xmit_cnt;
	struct pktcntr	drop_cnt;
	u_int		drop_forced;
	u_int		drop_unforced;
	u_int		marked_packets;
};

#ifdef ALTQ3_COMPAT
/*
 * IOCTLs for RED
 */
#define	RED_IF_ATTACH		_IOW('Q', 1, struct red_interface)
#define	RED_IF_DETACH		_IOW('Q', 2, struct red_interface)
#define	RED_ENABLE		_IOW('Q', 3, struct red_interface)
#define	RED_DISABLE		_IOW('Q', 4, struct red_interface)
#define	RED_CONFIG		_IOWR('Q', 6, struct red_conf)
#define	RED_GETSTATS		_IOWR('Q', 12, struct red_stats)
#define	RED_SETDEFAULTS		_IOW('Q', 30, struct redparams)
#endif /* ALTQ3_COMPAT */

#ifdef _KERNEL

#ifdef ALTQ3_COMPAT
struct flowvalve;
#endif

/* weight table structure for idle time calibration */
struct wtab {
	struct wtab	*w_next;
	int		 w_weight;
	int		 w_param_max;
	int		 w_refcount;
	int32_t		 w_tab[32];
};

typedef struct red {
	int		red_pkttime;	/* average packet time in micro sec
					   used for idle calibration */
	int		red_flags;	/* red flags */

	/* red parameters */
	int		red_weight;	/* weight for EWMA */
	int		red_inv_pmax;	/* inverse of max drop probability */
	int		red_thmin;	/* red min threshold */
	int		red_thmax;	/* red max threshold */

	/* variables for internal use */
	int		red_wshift;	/* log(red_weight) */
	int		red_thmin_s;	/* th_min scaled by avgshift */
	int		red_thmax_s;	/* th_max scaled by avgshift */
	int		red_probd;	/* drop probability denominator */

	int		red_avg;	/* queue len avg scaled by avgshift */
	int		red_count;	/* packet count since last dropped/
					   marked packet */
	int		red_idle;	/* queue was empty */
	int		red_old;	/* avg is above th_min */
	struct wtab	*red_wtab;	/* weight table */
	struct timeval	 red_last;	/* time when the queue becomes idle */

#ifdef ALTQ3_COMPAT
	struct flowvalve *red_flowvalve;	/* flowvalve state */
#endif

	struct {
		struct pktcntr	xmit_cnt;
		struct pktcntr	drop_cnt;
		u_int		drop_forced;
		u_int		drop_unforced;
		u_int		marked_packets;
	} red_stats;
} red_t;

#ifdef ALTQ3_COMPAT
typedef struct red_queue {
	struct red_queue *rq_next;	/* next red_state in the list */
	struct ifaltq *rq_ifq;		/* backpointer to ifaltq */

	class_queue_t *rq_q;

	red_t *rq_red;
} red_queue_t;
#endif /* ALTQ3_COMPAT */

/* red drop types */
#define	DTYPE_NODROP	0	/* no drop */
#define	DTYPE_FORCED	1	/* a "forced" drop */
#define	DTYPE_EARLY	2	/* an "unforced" (early) drop */

extern red_t		*red_alloc(int, int, int, int, int, int);
extern void		 red_destroy(red_t *);
extern void		 red_getstats(red_t *, struct redstats *);
extern int		 red_addq(red_t *, class_queue_t *, struct mbuf *,
			     struct altq_pktattr *);
extern struct mbuf	*red_getq(red_t *, class_queue_t *);
extern int		 drop_early(int, int, int);
extern int		 mark_ecn(struct mbuf *, struct altq_pktattr *, int);
extern struct wtab	*wtab_alloc(int);
extern int		 wtab_destroy(struct wtab *);
extern int32_t		 pow_w(struct wtab *, int);

#endif /* _KERNEL */

#endif /* _ALTQ_ALTQ_RED_H_ */


================================================
FILE: freebsd-headers/altq/altq_rio.h
================================================
/*	$KAME: altq_rio.h,v 1.9 2003/07/10 12:07:49 kjc Exp $	*/

/*
 * Copyright (C) 1998-2003
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#ifndef _ALTQ_ALTQ_RIO_H_
#define	_ALTQ_ALTQ_RIO_H_

#include <altq/altq_classq.h>

/*
 * RIO: RED with IN/OUT bit
 * (extended to support more than 2 drop precedence values)
 */
#define	RIO_NDROPPREC	3	/* number of drop precedence values */

#ifdef ALTQ3_COMPAT
struct rio_interface {
	char	rio_ifname[IFNAMSIZ];
};

struct rio_stats {
	struct rio_interface iface;
	int q_len[RIO_NDROPPREC];
	struct redstats q_stats[RIO_NDROPPREC];

	/* static red parameters */
	int q_limit;
	int weight;
	int flags;
	struct redparams q_params[RIO_NDROPPREC];
};

struct rio_conf {
	struct rio_interface iface;
	struct redparams q_params[RIO_NDROPPREC];
	int rio_weight;		/* weight for EWMA */
	int rio_limit;		/* max queue length */
	int rio_pkttime;	/* average packet time in usec */
	int rio_flags;		/* see below */
};
#endif /* ALTQ3_COMPAT */

/* rio flags */
#define	RIOF_ECN4	0x01	/* use packet marking for IPv4 packets */
#define	RIOF_ECN6	0x02	/* use packet marking for IPv6 packets */
#define	RIOF_ECN	(RIOF_ECN4 | RIOF_ECN6)
#define	RIOF_CLEARDSCP	0x200	/* clear diffserv codepoint */

#ifdef ALTQ3_COMPAT
/*
 * IOCTLs for RIO
 */
#define	RIO_IF_ATTACH		_IOW('Q', 1, struct rio_interface)
#define	RIO_IF_DETACH		_IOW('Q', 2, struct rio_interface)
#define	RIO_ENABLE		_IOW('Q', 3, struct rio_interface)
#define	RIO_DISABLE		_IOW('Q', 4, struct rio_interface)
#define	RIO_CONFIG		_IOWR('Q', 6, struct rio_conf)
#define	RIO_GETSTATS		_IOWR('Q', 12, struct rio_stats)
#define	RIO_SETDEFAULTS		_IOW('Q', 30, struct redparams[RIO_NDROPPREC])
#endif /* ALTQ3_COMPAT */

#ifdef _KERNEL

typedef struct rio {
	/* per drop precedence structure */
	struct dropprec_state {
		/* red parameters */
		int	inv_pmax;	/* inverse of max drop probability */
		int	th_min;		/* red min threshold */
		int	th_max;		/* red max threshold */

		/* variables for internal use */
		int	th_min_s;	/* th_min scaled by avgshift */
		int	th_max_s;	/* th_max scaled by avgshift */
		int	probd;		/* drop probability denominator */

		int	qlen;		/* queue length */
		int	avg;		/* (scaled) queue length average */
		int	count;		/* packet count since the last dropped/
					   marked packet */
		int	idle;		/* queue was empty */
		int	old;		/* avg is above th_min */
		struct timeval	last;	/* timestamp when queue becomes idle */
	} rio_precstate[RIO_NDROPPREC];

	int		 rio_wshift;	/* log(red_weight) */
	int		 rio_weight;	/* weight for EWMA */
	struct wtab	*rio_wtab;	/* weight table */

	int		 rio_pkttime;	/* average packet time in micro sec
					   used for idle calibration */
	int		 rio_flags;	/* rio flags */

	u_int8_t	 rio_codepoint;	/* codepoint value to tag packets */
	u_int8_t	 rio_codepointmask;	/* codepoint mask bits */

	struct redstats q_stats[RIO_NDROPPREC];	/* statistics */
} rio_t;

#ifdef ALTQ3_COMPAT
typedef struct rio_queue {
	struct rio_queue	*rq_next;	/* next red_state in the list */
	struct ifaltq		*rq_ifq;	/* backpointer to ifaltq */

	class_queue_t		*rq_q;

	rio_t			*rq_rio;
} rio_queue_t;
#endif /* ALTQ3_COMPAT */

extern rio_t		*rio_alloc(int, struct redparams *, int, int);
extern void		 rio_destroy(rio_t *);
extern void		 rio_getstats(rio_t *, struct redstats *);
extern int		 rio_addq(rio_t *, class_queue_t *, struct mbuf *,
			     struct altq_pktattr *);
extern struct mbuf	*rio_getq(rio_t *, class_queue_t *);

#endif /* _KERNEL */

#endif /* _ALTQ_ALTQ_RIO_H_ */


================================================
FILE: freebsd-headers/altq/altq_rmclass.h
================================================
/*	$KAME: altq_rmclass.h,v 1.10 2003/08/20 23:30:23 itojun Exp $	*/

/*
 * Copyright (c) 1991-1997 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the Network Research
 *	Group at Lawrence Berkeley Laboratory.
 * 4. Neither the name of the University nor of the Laboratory may be used
 *    to endorse or promote products derived from this software without
 *    specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#ifndef _ALTQ_ALTQ_RMCLASS_H_
#define	_ALTQ_ALTQ_RMCLASS_H_

#include <altq/altq_classq.h>

/* #pragma ident "@(#)rm_class.h  1.20     97/10/23 SMI" */

#ifdef __cplusplus
extern "C" {
#endif

#define	RM_MAXPRIO	8	/* Max priority */

#ifdef _KERNEL

typedef struct mbuf		mbuf_t;
typedef struct rm_ifdat		rm_ifdat_t;
typedef struct rm_class		rm_class_t;

struct red;

/*
 * Macros for dealing with time values.  We assume all times are
 * 'timevals'.  `microtime' is used to get the best available clock
 * resolution.  If `microtime' *doesn't* return a value that's about
 * ten times smaller than the average packet time on the fastest
 * link that will use these routines, a slightly different clock
 * scheme than this one should be used.
 * (Bias due to truncation error in this scheme will overestimate utilization
 * and discriminate against high bandwidth classes.  To remove this bias an
 * integrator needs to be added.  The simplest integrator uses a history of
 * 10 * avg.packet.time / min.tick.time packet completion entries.  This is
 * straight forward to add but we don't want to pay the extra memory
 * traffic to maintain it if it's not necessary (occasionally a vendor
 * accidentally builds a workstation with a decent clock - e.g., Sun & HP).)
 */

#define	RM_GETTIME(now) microtime(&now)

#define	TV_LT(a, b) (((a)->tv_sec < (b)->tv_sec) ||  \
	(((a)->tv_usec < (b)->tv_usec) && ((a)->tv_sec <= (b)->tv_sec)))

#define	TV_DELTA(a, b, delta) { \
	register int	xxs;	\
							\
	delta = (a)->tv_usec - (b)->tv_usec; \
	if ((xxs = (a)->tv_sec - (b)->tv_sec)) { \
		switch (xxs) { \
		default: \
			/* if (xxs < 0) \
				printf("rm_class: bogus time values\n"); */ \
			delta = 0; \
			/* fall through */ \
		case 2: \
			delta += 1000000; \
			/* fall through */ \
		case 1: \
			delta += 1000000; \
			break; \
		} \
	} \
}

#define	TV_ADD_DELTA(a, delta, res) { \
	register int xxus = (a)->tv_usec + (delta); \
	\
	(res)->tv_sec = (a)->tv_sec; \
	while (xxus >= 1000000) { \
		++((res)->tv_sec); \
		xxus -= 1000000; \
	} \
	(res)->tv_usec = xxus; \
}

#define	RM_TIMEOUT	2	/* 1 Clock tick. */

#if 1
#define	RM_MAXQUEUED	1	/* this isn't used in ALTQ/CBQ */
#else
#define	RM_MAXQUEUED	16	/* Max number of packets downstream of CBQ */
#endif
#define	RM_MAXQUEUE	64	/* Max queue length */
#define	RM_FILTER_GAIN	5	/* log2 of gain, e.g., 5 => 31/32 */
#define	RM_POWER	(1 << RM_FILTER_GAIN)
#define	RM_MAXDEPTH	32
#define	RM_NS_PER_SEC	(1000000000)

typedef struct _rm_class_stats_ {
	u_int		handle;
	u_int		depth;

	struct pktcntr	xmit_cnt;	/* packets sent in this class */
	struct pktcntr	drop_cnt;	/* dropped packets */
	u_int		over;		/* # times went over limit */
	u_int		borrows;	/* # times tried to borrow */
	u_int		overactions;	/* # times invoked overlimit action */
	u_int		delays;		/* # times invoked delay actions */
} rm_class_stats_t;

/*
 * CBQ Class state structure
 */
struct rm_class {
	class_queue_t	*q_;		/* Queue of packets */
	rm_ifdat_t	*ifdat_;
	int		pri_;		/* Class priority. */
	int		depth_;		/* Class depth */
	u_int		ns_per_byte_;	/* NanoSeconds per byte. */
	u_int		maxrate_;	/* Bytes per second for this class. */
	u_int		allotment_;	/* Fraction of link bandwidth. */
	u_int		w_allotment_;	/* Weighted allotment for WRR */
	int		bytes_alloc_;	/* Allocation for round of WRR */

	int		avgidle_;
	int		maxidle_;
	int		minidle_;
	int		offtime_;
	int		sleeping_;	/* != 0 if delaying */
	int		qthresh_;	/* Queue threshold for formal link sharing */
	int		leaf_;		/* Note whether leaf class or not.*/

	rm_class_t	*children_;	/* Children of this class */
	rm_class_t	*next_;		/* Next pointer, used if child */

	rm_class_t	*peer_;		/* Peer class */
	rm_class_t	*borrow_;	/* Borrow class */
	rm_class_t	*parent_;	/* Parent class */

	void	(*overlimit)(struct rm_class *, struct rm_class *);
	void	(*drop)(struct rm_class *);       /* Class drop action. */

	struct red	*red_;		/* RED state pointer */
	struct altq_pktattr *pktattr_;	/* saved hdr used by RED/ECN */
	int		flags_;

	int		last_pkttime_;	/* saved pkt_time */
	struct timeval	undertime_;	/* time can next send */
	struct timeval	last_;		/* time last packet sent */
	struct timeval	overtime_;
	struct callout	callout_; 	/* for timeout() calls */

	rm_class_stats_t stats_;	/* Class Statistics */
};

/*
 * CBQ Interface state
 */
struct rm_ifdat {
	int		queued_;	/* # pkts queued downstream */
	int		efficient_;	/* Link Efficency bit */
	int		wrr_;		/* Enable Weighted Round-Robin */
	u_long		ns_per_byte_;	/* Link byte speed. */
	int		maxqueued_;	/* Max packets to queue */
	int		maxpkt_;	/* Max packet size. */
	int		qi_;		/* In/out pointers for downstream */
	int		qo_;		/* packets */

	/*
	 * Active class state and WRR state.
	 */
	rm_class_t	*active_[RM_MAXPRIO];	/* Active cl's in each pri */
	int		na_[RM_MAXPRIO];	/* # of active cl's in a pri */
	int		num_[RM_MAXPRIO];	/* # of cl's per pri */
	int		alloc_[RM_MAXPRIO];	/* Byte Allocation */
	u_long		M_[RM_MAXPRIO];		/* WRR weights. */

	/*
	 * Network Interface/Solaris Queue state pointer.
	 */
	struct ifaltq	*ifq_;
	rm_class_t	*default_;	/* Default Pkt class, BE */
	rm_class_t	*root_;		/* Root Link class. */
	rm_class_t	*ctl_;		/* Control Traffic class. */
	void		(*restart)(struct ifaltq *);	/* Restart routine. */

	/*
	 * Current packet downstream packet state and dynamic state.
	 */
	rm_class_t	*borrowed_[RM_MAXQUEUED]; /* Class borrowed last */
	rm_class_t	*class_[RM_MAXQUEUED];	/* class sending */
	int		curlen_[RM_MAXQUEUED];	/* Current pktlen */
	struct timeval	now_[RM_MAXQUEUED];	/* Current packet time. */
	int		is_overlimit_[RM_MAXQUEUED];/* Current packet time. */

	int		cutoff_;	/* Cut-off depth for borrowing */

	struct timeval	ifnow_;		/* expected xmit completion time */
#if 1 /* ALTQ4PPP */
	int		maxiftime_;	/* max delay inside interface */
#endif
        rm_class_t	*pollcache_;	/* cached rm_class by poll operation */
};

/* flags for rmc_init and rmc_newclass */
/* class flags */
#define	RMCF_RED		0x0001
#define	RMCF_ECN		0x0002
#define	RMCF_RIO		0x0004
#define	RMCF_FLOWVALVE		0x0008	/* use flowvalve (aka penalty-box) */
#define	RMCF_CLEARDSCP		0x0010  /* clear diffserv codepoint */

/* flags for rmc_init */
#define	RMCF_WRR		0x0100
#define	RMCF_EFFICIENT		0x0200

#define	is_a_parent_class(cl)	((cl)->children_ != NULL)

extern rm_class_t *rmc_newclass(int, struct rm_ifdat *, u_int,
				void (*)(struct rm_class *, struct rm_class *),
				int, struct rm_class *, struct rm_class *,
				u_int, int, u_int, int, int);
extern void	rmc_delete_class(struct rm_ifdat *, struct rm_class *);
extern int 	rmc_modclass(struct rm_class *, u_int, int,
			     u_int, int, u_int, int);
extern void	rmc_init(struct ifaltq *, struct rm_ifdat *, u_int,
			 void (*)(struct ifaltq *),
			 int, int, u_int, int, u_int, int);
extern int	rmc_queue_packet(struct rm_class *, mbuf_t *);
extern mbuf_t	*rmc_dequeue_next(struct rm_ifdat *, int);
extern void	rmc_update_class_util(struct rm_ifdat *);
extern void	rmc_delay_action(struct rm_class *, struct rm_class *);
extern void	rmc_dropall(struct rm_class *);
extern int	rmc_get_weight(struct rm_ifdat *, int);

#endif /* _KERNEL */

#ifdef __cplusplus
}
#endif

#endif /* _ALTQ_ALTQ_RMCLASS_H_ */


================================================
FILE: freebsd-headers/altq/altq_rmclass_debug.h
================================================
/*	$KAME: altq_rmclass_debug.h,v 1.3 2002/11/29 04:36:24 kjc Exp $	*/

/*
 * Copyright (c) Sun Microsystems, Inc. 1998 All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by the SMCC Technology
 *      Development Group at Sun Microsystems, Inc.
 *
 * 4. The name of the Sun Microsystems, Inc nor may not be used to endorse or
 *      promote products derived from this software without specific prior
 *      written permission.
 *
 * SUN MICROSYSTEMS DOES NOT CLAIM MERCHANTABILITY OF THIS SOFTWARE OR THE
 * SUITABILITY OF THIS SOFTWARE FOR ANY PARTICULAR PURPOSE.  The software is
 * provided "as is" without express or implied warranty of any kind.
 *
 * These notices must be retained in any copies of any part of this software.
 */

#ifndef _ALTQ_ALTQ_RMCLASS_DEBUG_H_
#define	_ALTQ_ALTQ_RMCLASS_DEBUG_H_

/* #pragma ident	"@(#)rm_class_debug.h	1.7	98/05/04 SMI" */

/*
 * Cbq debugging macros
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifdef	CBQ_TRACE
#ifndef NCBQTRACE
#define	NCBQTRACE (16 * 1024)
#endif

/*
 * To view the trace output, using adb, type:
 *	adb -k /dev/ksyms /dev/mem <cr>, then type
 *	cbqtrace_count/D to get the count, then type
 *	cbqtrace_buffer,0tcount/Dp4C" "Xn
 *	This will dump the trace buffer from 0 to count.
 */
/*
 * in ALTQ, "call cbqtrace_dump(N)" from DDB to display 20 events
 * from Nth event in the circular buffer.
 */

struct cbqtrace {
	int count;
	int function;		/* address of function */
	int trace_action;	/* descriptive 4 characters */
	int object;		/* object operated on */
};

extern struct cbqtrace cbqtrace_buffer[];
extern struct cbqtrace *cbqtrace_ptr;
extern int cbqtrace_count;

#define	CBQTRACEINIT() {				\
	if (cbqtrace_ptr == NULL)		\
		cbqtrace_ptr = cbqtrace_buffer; \
	else { \
		cbqtrace_ptr = cbqtrace_buffer; \
		bzero((void *)cbqtrace_ptr, sizeof(cbqtrace_buffer)); \
		cbqtrace_count = 0; \
	} \
}

#define	LOCK_TRACE()	splimp()
#define	UNLOCK_TRACE(x)	splx(x)

#define	CBQTRACE(func, act, obj) {		\
	int __s = LOCK_TRACE();			\
	int *_p = &cbqtrace_ptr->count;	\
	*_p++ = ++cbqtrace_count;		\
	*_p++ = (int)(func);			\
	*_p++ = (int)(act);			\
	*_p++ = (int)(obj);			\
	if ((struct cbqtrace *)(void *)_p >= &cbqtrace_buffer[NCBQTRACE])\
		cbqtrace_ptr = cbqtrace_buffer; \
	else					\
		cbqtrace_ptr = (struct cbqtrace *)(void *)_p; \
	UNLOCK_TRACE(__s);			\
	}
#else

/* If no tracing, define no-ops */
#define	CBQTRACEINIT()
#define	CBQTRACE(a, b, c)

#endif	/* !CBQ_TRACE */

#ifdef __cplusplus
}
#endif

#endif	/* _ALTQ_ALTQ_RMCLASS_DEBUG_H_ */


================================================
FILE: freebsd-headers/altq/altq_var.h
================================================
/*	$FreeBSD: release/9.0.0/sys/contrib/altq/altq/altq_var.h 219457 2011-03-10 18:49:15Z jkim $	*/
/*	$KAME: altq_var.h,v 1.16 2003/10/03 05:05:15 kjc Exp $	*/

/*
 * Copyright (C) 1998-2003
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */
#ifndef _ALTQ_ALTQ_VAR_H_
#define	_ALTQ_ALTQ_VAR_H_

#ifdef _KERNEL

#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/queue.h>

#ifdef ALTQ3_CLFIER_COMPAT
/*
 * filter structure for altq common classifier
 */
struct acc_filter {
	LIST_ENTRY(acc_filter)	f_chain;
	void			*f_class;	/* pointer to the class */
	u_long			f_handle;	/* filter id */
	u_int32_t		f_fbmask;	/* filter bitmask */
	struct flow_filter	f_filter;	/* filter value */
};

/*
 * XXX ACC_FILTER_TABLESIZE can't be larger than 2048 unless we fix
 * the handle assignment.
 */
#define	ACC_FILTER_TABLESIZE	(256+1)
#define	ACC_FILTER_MASK		(ACC_FILTER_TABLESIZE - 2)
#define	ACC_WILDCARD_INDEX	(ACC_FILTER_TABLESIZE - 1)
#ifdef __GNUC__
#define	ACC_GET_HASH_INDEX(addr) \
	({int x = (addr) + ((addr) >> 16); (x + (x >> 8)) & ACC_FILTER_MASK;})
#else
#define	ACC_GET_HASH_INDEX(addr) \
	(((addr) + ((addr) >> 8) + ((addr) >> 16) + ((addr) >> 24)) \
	& ACC_FILTER_MASK)
#endif
#define	ACC_GET_HINDEX(handle) ((handle) >> 20)

#if (__FreeBSD_version > 500000)
#define ACC_LOCK_INIT(ac)	mtx_init(&(ac)->acc_mtx, "classifier", MTX_DEF)
#define ACC_LOCK_DESTROY(ac)	mtx_destroy(&(ac)->acc_mtx)
#define ACC_LOCK(ac)		mtx_lock(&(ac)->acc_mtx)
#define ACC_UNLOCK(ac)		mtx_unlock(&(ac)->acc_mtx)
#else
#define ACC_LOCK_INIT(ac)
#define ACC_LOCK_DESTROY(ac)
#define ACC_LOCK(ac)
#define ACC_UNLOCK(ac)
#endif

struct acc_classifier {
	u_int32_t			acc_fbmask;
	LIST_HEAD(filt, acc_filter)	acc_filters[ACC_FILTER_TABLESIZE];

#if (__FreeBSD_version > 500000)
	struct	mtx acc_mtx;
#endif
};

/*
 * flowinfo mask bits used by classifier
 */
/* for ipv4 */
#define	FIMB4_PROTO	0x0001
#define	FIMB4_TOS	0x0002
#define	FIMB4_DADDR	0x0004
#define	FIMB4_SADDR	0x0008
#define	FIMB4_DPORT	0x0010
#define	FIMB4_SPORT	0x0020
#define	FIMB4_GPI	0x0040
#define	FIMB4_ALL	0x007f
/* for ipv6 */
#define	FIMB6_PROTO	0x0100
#define	FIMB6_TCLASS	0x0200
#define	FIMB6_DADDR	0x0400
#define	FIMB6_SADDR	0x0800
#define	FIMB6_DPORT	0x1000
#define	FIMB6_SPORT	0x2000
#define	FIMB6_GPI	0x4000
#define	FIMB6_FLABEL	0x8000
#define	FIMB6_ALL	0xff00

#define	FIMB_ALL	(FIMB4_ALL|FIMB6_ALL)

#define	FIMB4_PORTS	(FIMB4_DPORT|FIMB4_SPORT|FIMB4_GPI)
#define	FIMB6_PORTS	(FIMB6_DPORT|FIMB6_SPORT|FIMB6_GPI)
#endif /* ALTQ3_CLFIER_COMPAT */

/*
 * machine dependent clock
 * a 64bit high resolution time counter.
 */
extern int machclk_usepcc;
extern u_int32_t machclk_freq;
extern u_int32_t machclk_per_tick;
extern void init_machclk(void);
extern u_int64_t read_machclk(void);

/*
 * debug support
 */
#ifdef ALTQ_DEBUG
#ifdef __STDC__
#define	ASSERT(e)	((e) ? (void)0 : altq_assert(__FILE__, __LINE__, #e))
#else	/* PCC */
#define	ASSERT(e)	((e) ? (void)0 : altq_assert(__FILE__, __LINE__, "e"))
#endif
#else
#define	ASSERT(e)	((void)0)
#endif

/*
 * misc stuff for compatibility
 */
/* ioctl cmd type */
typedef u_long ioctlcmd_t;

/*
 * queue macros:
 * the interface of TAILQ_LAST macro changed after the introduction
 * of softupdate. redefine it here to make it work with pre-2.2.7.
 */
#undef TAILQ_LAST
#define	TAILQ_LAST(head, headname) \
	(*(((struct headname *)((head)->tqh_last))->tqh_last))

#ifndef TAILQ_EMPTY
#define	TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
#endif
#ifndef TAILQ_FOREACH
#define TAILQ_FOREACH(var, head, field)					\
	for (var = TAILQ_FIRST(head); var; var = TAILQ_NEXT(var, field))
#endif

/* macro for timeout/untimeout */
#if (__FreeBSD_version > 300000) || defined(__NetBSD__)
/* use callout */
#include <sys/callout.h>

#if (__FreeBSD_version > 500000)
#define	CALLOUT_INIT(c)		callout_init((c), 0)
#else
#define	CALLOUT_INIT(c)		callout_init((c))
#endif
#define	CALLOUT_RESET(c,t,f,a)	callout_reset((c),(t),(f),(a))
#define	CALLOUT_STOP(c)		callout_stop((c))
#if !defined(CALLOUT_INITIALIZER) && (__FreeBSD_version < 600000)
#define	CALLOUT_INITIALIZER	{ { { NULL } }, 0, NULL, NULL, 0 }
#endif
#elif defined(__OpenBSD__)
#include <sys/timeout.h>
/* callout structure as a wrapper of struct timeout */
struct callout {
	struct timeout	c_to;
};
#define	CALLOUT_INIT(c)		do { bzero((c), sizeof(*(c))); } while (/*CONSTCOND*/ 0)
#define	CALLOUT_RESET(c,t,f,a)	do { if (!timeout_initialized(&(c)->c_to))  \
					 timeout_set(&(c)->c_to, (f), (a)); \
				     timeout_add(&(c)->c_to, (t)); } while (/*CONSTCOND*/ 0)
#define	CALLOUT_STOP(c)		timeout_del(&(c)->c_to)
#define	CALLOUT_INITIALIZER	{ { { NULL }, NULL, NULL, 0, 0 } }
#else
/* use old-style timeout/untimeout */
/* dummy callout structure */
struct callout {
	void		*c_arg;			/* function argument */
	void		(*c_func)(void *);	/* functiuon to call */
};
#define	CALLOUT_INIT(c)		do { bzero((c), sizeof(*(c))); } while (/*CONSTCOND*/ 0)
#define	CALLOUT_RESET(c,t,f,a)	do {	(c)->c_arg = (a);	\
					(c)->c_func = (f);	\
					timeout((f),(a),(t)); } while (/*CONSTCOND*/ 0)
#define	CALLOUT_STOP(c)		untimeout((c)->c_func,(c)->c_arg)
#define	CALLOUT_INITIALIZER	{ NULL, NULL }
#endif
#if !defined(__FreeBSD__)
typedef void (timeout_t)(void *);
#endif

#define	m_pktlen(m)		((m)->m_pkthdr.len)

struct ifnet; struct mbuf;
struct pf_altq;
#ifdef ALTQ3_CLFIER_COMPAT
struct flowinfo;
#endif

void	*altq_lookup(char *, int);
#ifdef ALTQ3_CLFIER_COMPAT
int	altq_extractflow(struct mbuf *, int, struct flowinfo *, u_int32_t);
int	acc_add_filter(struct acc_classifier *, struct flow_filter *,
	    void *, u_long *);
int	acc_delete_filter(struct acc_classifier *, u_long);
int	acc_discard_filters(struct acc_classifier *, void *, int);
void	*acc_classify(void *, struct mbuf *, int);
#endif
u_int8_t read_dsfield(struct mbuf *, struct altq_pktattr *);
void	write_dsfield(struct mbuf *, struct altq_pktattr *, u_int8_t);
void	altq_assert(const char *, int, const char *);
int	tbr_set(struct ifaltq *, struct tb_profile *);
int	tbr_get(struct ifaltq *, struct tb_profile *);

int	altq_pfattach(struct pf_altq *);
int	altq_pfdetach(struct pf_altq *);
int	altq_add(struct pf_altq *);
int	altq_remove(struct pf_altq *);
int	altq_add_queue(struct pf_altq *);
int	altq_remove_queue(struct pf_altq *);
int	altq_getqstats(struct pf_altq *, void *, int *);

int	cbq_pfattach(struct pf_altq *);
int	cbq_add_altq(struct pf_altq *);
int	cbq_remove_altq(struct pf_altq *);
int	cbq_add_queue(struct pf_altq *);
int	cbq_remove_queue(struct pf_altq *);
int	cbq_getqstats(struct pf_altq *, void *, int *);

int	priq_pfattach(struct pf_altq *);
int	priq_add_altq(struct pf_altq *);
int	priq_remove_altq(struct pf_altq *);
int	priq_add_queue(struct pf_altq *);
int	priq_remove_queue(struct pf_altq *);
int	priq_getqstats(struct pf_altq *, void *, int *);

int	hfsc_pfattach(struct pf_altq *);
int	hfsc_add_altq(struct pf_altq *);
int	hfsc_remove_altq(struct pf_altq *);
int	hfsc_add_queue(struct pf_altq *);
int	hfsc_remove_queue(struct pf_altq *);
int	hfsc_getqstats(struct pf_altq *, void *, int *);

#endif /* _KERNEL */
#endif /* _ALTQ_ALTQ_VAR_H_ */


================================================
FILE: freebsd-headers/altq/altqconf.h
================================================
/*	$OpenBSD: altqconf.h,v 1.1 2001/06/27 05:28:36 kjc Exp $	*/
/*	$NetBSD: altqconf.h,v 1.2 2001/05/30 11:57:16 mrg Exp $	*/

#if defined(_KERNEL_OPT) || defined(__OpenBSD__)

#if defined(_KERNEL_OPT)
#include "opt_altq_enabled.h"
#endif

#include <sys/conf.h>

#ifdef ALTQ
#define	NALTQ	1
#else
#define	NALTQ	0
#endif

cdev_decl(altq);

#ifdef __OpenBSD__
#define cdev_altq_init(c,n) { \
	dev_init(c,n,open), dev_init(c,n,close), (dev_type_read((*))) enodev, \
	(dev_type_write((*))) enodev, dev_init(c,n,ioctl), \
	(dev_type_stop((*))) enodev, 0, (dev_type_select((*))) enodev, \
	(dev_type_mmap((*))) enodev }
#else
#define	cdev_altq_init(x,y)	cdev__oci_init(x,y)
#endif
#endif /* defined(_KERNEL_OPT) || defined(__OpenBSD__) */


================================================
FILE: freebsd-headers/altq/if_altq.h
================================================
/*	$FreeBSD: release/9.0.0/sys/contrib/altq/altq/if_altq.h 219457 2011-03-10 18:49:15Z jkim $	*/
/*	$KAME: if_altq.h,v 1.12 2005/04/13 03:44:25 suz Exp $	*/

/*
 * Copyright (C) 1997-2003
 *	Sony Computer Science Laboratories Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY SONY CSL AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL SONY CSL OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */
#ifndef _ALTQ_IF_ALTQ_H_
#define	_ALTQ_IF_ALTQ_H_

#ifdef __FreeBSD__
#include <sys/lock.h>		/* XXX */
#include <sys/mutex.h>		/* XXX */
#include <sys/event.h>		/* XXX */
#endif

#ifdef _KERNEL_OPT
#include <altq/altqconf.h>
#endif

struct altq_pktattr; struct tb_regulator; struct top_cdnr;

/*
 * Structure defining a queue for a network interface.
 */
struct	ifaltq {
	/* fields compatible with struct ifqueue */
	struct	mbuf *ifq_head;
	struct	mbuf *ifq_tail;
	int	ifq_len;
	int	ifq_maxlen;
	int	ifq_drops;
#ifdef __FreeBSD__
	struct	mtx ifq_mtx;
#endif

	/* driver owned queue (used for bulk dequeue and prepend) UNLOCKED */
	struct	mbuf *ifq_drv_head;
	struct	mbuf *ifq_drv_tail;
	int	ifq_drv_len;
	int	ifq_drv_maxlen;

	/* alternate queueing related fields */
	int	altq_type;		/* discipline type */
	int	altq_flags;		/* flags (e.g. ready, in-use) */
	void	*altq_disc;		/* for discipline-specific use */
	struct	ifnet *altq_ifp;	/* back pointer to interface */

	int	(*altq_enqueue)(struct ifaltq *, struct mbuf *,
				struct altq_pktattr *);
	struct	mbuf *(*altq_dequeue)(struct ifaltq *, int);
	int	(*altq_request)(struct ifaltq *, int, void *);

	/* classifier fields */
	void	*altq_clfier;		/* classifier-specific use */
	void	*(*altq_classify)(void *, struct mbuf *, int);

	/* token bucket regulator */
	struct	tb_regulator *altq_tbr;

	/* input traffic conditioner (doesn't belong to the output queue...) */
	struct top_cdnr *altq_cdnr;
};


#ifdef _KERNEL

/*
 * packet attributes used by queueing disciplines.
 * pattr_class is a discipline-dependent scheduling class that is
 * set by a classifier.
 * pattr_hdr and pattr_af may be used by a discipline to access
 * the header within a mbuf.  (e.g. ECN needs to update the CE bit)
 * note that pattr_hdr could be stale after m_pullup, though link
 * layer output routines usually don't use m_pullup.  link-level
 * compression also invalidates these fields.  thus, pattr_hdr needs
 * to be verified when a discipline touches the header.
 */
struct altq_pktattr {
	void	*pattr_class;		/* sched class set by classifier */
	int	pattr_af;		/* address family */
	caddr_t	pattr_hdr;		/* saved header position in mbuf */
};

/*
 * mbuf tag to carry a queue id (and hints for ECN).
 */
struct altq_tag {
	u_int32_t	qid;		/* queue id */
	/* hints for ecn */
	int		af;		/* address family */
	void		*hdr;		/* saved header position in mbuf */
};

/*
 * a token-bucket regulator limits the rate that a network driver can
 * dequeue packets from the output queue.
 * modern cards are able to buffer a large amount of packets and dequeue
 * too many packets at a time.  this bursty dequeue behavior makes it
 * impossible to schedule packets by queueing disciplines.
 * a token-bucket is used to control the burst size in a device
 * independent manner.
 */
struct tb_regulator {
	int64_t		tbr_rate;	/* (scaled) token bucket rate */
	int64_t		tbr_depth;	/* (scaled) token bucket depth */

	int64_t		tbr_token;	/* (scaled) current token */
	int64_t		tbr_filluptime;	/* (scaled) time to fill up bucket */
	u_int64_t	tbr_last;	/* last time token was updated */

	int		tbr_lastop;	/* last dequeue operation type
					   needed for poll-and-dequeue */
};

/* if_altqflags */
#define	ALTQF_READY	 0x01	/* driver supports alternate queueing */
#define	ALTQF_ENABLED	 0x02	/* altq is in use */
#define	ALTQF_CLASSIFY	 0x04	/* classify packets */
#define	ALTQF_CNDTNING	 0x08	/* altq traffic conditioning is enabled */
#define	ALTQF_DRIVER1	 0x40	/* driver specific */

/* if_altqflags set internally only: */
#define	ALTQF_CANTCHANGE 	(ALTQF_READY)

/* altq_dequeue 2nd arg */
#define	ALTDQ_REMOVE		1	/* dequeue mbuf from the queue */
#define	ALTDQ_POLL		2	/* don't dequeue mbuf from the queue */

/* altq request types (currently only purge is defined) */
#define	ALTRQ_PURGE		1	/* purge all packets */

#define	ALTQ_IS_READY(ifq)		((ifq)->altq_flags & ALTQF_READY)
#define	ALTQ_IS_ENABLED(ifq)		((ifq)->altq_flags & ALTQF_ENABLED)
#define	ALTQ_NEEDS_CLASSIFY(ifq)	((ifq)->altq_flags & ALTQF_CLASSIFY)
#define	ALTQ_IS_CNDTNING(ifq)		((ifq)->altq_flags & ALTQF_CNDTNING)

#define	ALTQ_SET_CNDTNING(ifq)		((ifq)->altq_flags |= ALTQF_CNDTNING)
#define	ALTQ_CLEAR_CNDTNING(ifq)	((ifq)->altq_flags &= ~ALTQF_CNDTNING)
#define	ALTQ_IS_ATTACHED(ifq)		((ifq)->altq_disc != NULL)

#define	ALTQ_ENQUEUE(ifq, m, pa, err)					\
	(err) = (*(ifq)->altq_enqueue)((ifq),(m),(pa))
#define	ALTQ_DEQUEUE(ifq, m)						\
	(m) = (*(ifq)->altq_dequeue)((ifq), ALTDQ_REMOVE)
#define	ALTQ_POLL(ifq, m)						\
	(m) = (*(ifq)->altq_dequeue)((ifq), ALTDQ_POLL)
#define	ALTQ_PURGE(ifq)							\
	(void)(*(ifq)->altq_request)((ifq), ALTRQ_PURGE, (void *)0)
#define	ALTQ_IS_EMPTY(ifq)		((ifq)->ifq_len == 0)
#define	TBR_IS_ENABLED(ifq)		((ifq)->altq_tbr != NULL)

extern int altq_attach(struct ifaltq *, int, void *,
		       int (*)(struct ifaltq *, struct mbuf *,
			       struct altq_pktattr *),
		       struct mbuf *(*)(struct ifaltq *, int),
		       int (*)(struct ifaltq *, int, void *),
		       void *,
		       void *(*)(void *, struct mbuf *, int));
extern int altq_detach(struct ifaltq *);
extern int altq_enable(struct ifaltq *);
extern int altq_disable(struct ifaltq *);
extern struct mbuf *(*tbr_dequeue_ptr)(struct ifaltq *, int);
extern int (*altq_input)(struct mbuf *, int);
#if 0 /* ALTQ3_CLFIER_COMPAT */
void altq_etherclassify(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
#endif
#endif /* _KERNEL */

#endif /* _ALTQ_IF_ALTQ_H_ */


================================================
FILE: freebsd-headers/ar.h
================================================
/*-
 * Copyright (c) 1991, 1993
 *	The Regents of the University of California.  All rights reserved.
 * (c) UNIX System Laboratories, Inc.
 * All or some portions of this file are derived from material licensed
 * to the University of California by American Telephone and Telegraph
 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
 * the permission of UNIX System Laboratories, Inc.
 *
 * This code is derived from software contributed to Berkeley by
 * Hugh Smith at The University of Guelph.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)ar.h	8.2 (Berkeley) 1/21/94
 *
 * $FreeBSD: release/9.0.0/include/ar.h 203964 2010-02-16 19:39:50Z imp $
 */

#ifndef _AR_H_
#define	_AR_H_

#include <sys/cdefs.h>

/* Pre-4BSD archives had these magic numbers in them. */
#define	OARMAG1	0177555
#define	OARMAG2	0177545

#define	ARMAG		"!<arch>\n"	/* ar "magic number" */
#define	SARMAG		8		/* strlen(ARMAG); */

#define	AR_EFMT1	"#1/"		/* extended format #1 */

struct ar_hdr {
	char ar_name[16];		/* name */
	char ar_date[12];		/* modification time */
	char ar_uid[6];			/* user id */
	char ar_gid[6];			/* group id */
	char ar_mode[8];		/* octal file permissions */
	char ar_size[10];		/* size in bytes */
#define	ARFMAG	"`\n"
	char ar_fmag[2];		/* consistency check */
} __packed;

#endif /* !_AR_H_ */


================================================
FILE: freebsd-headers/archive.h
================================================
/*-
 * Copyright (c) 2003-2007 Tim Kientzle
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * $FreeBSD: release/9.0.0/lib/libarchive/archive.h 224152 2011-07-17 21:27:38Z mm $
 */

#ifndef ARCHIVE_H_INCLUDED
#define	ARCHIVE_H_INCLUDED

/*
 * Note: archive.h is for use outside of libarchive; the configuration
 * headers (config.h, archive_platform.h, etc.) are purely internal.
 * Do NOT use HAVE_XXX configuration macros to control the behavior of
 * this header!  If you must conditionalize, use predefined compiler and/or
 * platform macros.
 */
#if defined(__BORLANDC__) && __BORLANDC__ >= 0x560
# define __LA_STDINT_H <stdint.h>
#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__)
# define __LA_STDINT_H <inttypes.h>
#endif

#include <sys/stat.h>
#include <sys/types.h>  /* Linux requires this for off_t */
#ifdef __LA_STDINT_H
# include __LA_STDINT_H /* int64_t, etc. */
#endif
#include <stdio.h> /* For FILE * */

/* Get appropriate definitions of standard POSIX-style types. */
/* These should match the types used in 'struct stat' */
#if defined(_WIN32) && !defined(__CYGWIN__)
#define	__LA_INT64_T	__int64
# if defined(_SSIZE_T_DEFINED)
#  define	__LA_SSIZE_T	ssize_t
# elif defined(_WIN64)
#  define	__LA_SSIZE_T	__int64
# else
#  define	__LA_SSIZE_T	long
# endif
# if defined(__BORLANDC__)
#  define	__LA_UID_T	uid_t
#  define	__LA_GID_T	gid_t
# else
#  define	__LA_UID_T	short
#  define	__LA_GID_T	short
# endif
#else
#include <unistd.h>  /* ssize_t, uid_t, and gid_t */
#define	__LA_INT64_T	int64_t
#define	__LA_SSIZE_T	ssize_t
#define	__LA_UID_T	uid_t
#define	__LA_GID_T	gid_t
#endif

/*
 * On Windows, define LIBARCHIVE_STATIC if you're building or using a
 * .lib.  The default here assumes you're building a DLL.  Only
 * libarchive source should ever define __LIBARCHIVE_BUILD.
 */
#if ((defined __WIN32__) || (defined _WIN32) || defined(__CYGWIN__)) && (!defined LIBARCHIVE_STATIC)
# ifdef __LIBARCHIVE_BUILD
#  ifdef __GNUC__
#   define __LA_DECL	__attribute__((dllexport)) extern
#  else
#   define __LA_DECL	__declspec(dllexport)
#  endif
# else
#  ifdef __GNUC__
#   define __LA_DECL	__attribute__((dllimport)) extern
#  else
#   define __LA_DECL	__declspec(dllimport)
#  endif
# endif
#else
/* Static libraries or non-Windows needs no special declaration. */
# define __LA_DECL
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The version number is provided as both a macro and a function.
 * The macro identifies the installed header; the function identifies
 * the library version (which may not be the same if you're using a
 * dynamically-linked version of the library).  Of course, if the
 * header and library are very different, you should expect some
 * strangeness.  Don't do that.
 */

/*
 * The version number is expressed as a single integer that makes it
 * easy to compare versions at build time: for version a.b.c, the
 * version number is printf("%d%03d%03d",a,b,c).  For example, if you
 * know your application requires version 2.12.108 or later, you can
 * assert that ARCHIVE_VERSION >= 2012108.
 *
 * This single-number format was introduced with libarchive 1.9.0 in
 * the libarchive 1.x family and libarchive 2.2.4 in the libarchive
 * 2.x family.  The following may be useful if you really want to do
 * feature detection for earlier libarchive versions (which defined
 * ARCHIVE_API_VERSION and ARCHIVE_API_FEATURE instead):
 *
 * #ifndef ARCHIVE_VERSION_NUMBER
 * #define ARCHIVE_VERSION_NUMBER	\
 *             (ARCHIVE_API_VERSION * 1000000 + ARCHIVE_API_FEATURE * 1000)
 * #endif
 */
#define	ARCHIVE_VERSION_NUMBER 2008004
__LA_DECL int		archive_version_number(void);

/*
 * Textual name/version of the library, useful for version displays.
 */
#define	ARCHIVE_VERSION_STRING "libarchive 2.8.4"
__LA_DECL const char *	archive_version_string(void);

#if ARCHIVE_VERSION_NUMBER < 3000000
/*
 * Deprecated; these are older names that will be removed in favor of
 * the simpler definitions above.
 */
#define	ARCHIVE_VERSION_STAMP	ARCHIVE_VERSION_NUMBER
__LA_DECL int		archive_version_stamp(void);
#define	ARCHIVE_LIBRARY_VERSION	ARCHIVE_VERSION_STRING
__LA_DECL const char *	archive_version(void);
#define	ARCHIVE_API_VERSION	(ARCHIVE_VERSION_NUMBER / 1000000)
__LA_DECL int		archive_api_version(void);
#define	ARCHIVE_API_FEATURE	((ARCHIVE_VERSION_NUMBER / 1000) % 1000)
__LA_DECL int		archive_api_feature(void);
#endif

#if ARCHIVE_VERSION_NUMBER < 3000000
/* This should never have been here in the first place. */
/* Legacy of old tar assumptions, will be removed in libarchive 3.0. */
#define	ARCHIVE_BYTES_PER_RECORD	  512
#define	ARCHIVE_DEFAULT_BYTES_PER_BLOCK	10240
#endif

/* Declare our basic types. */
struct archive;
struct archive_entry;

/*
 * Error codes: Use archive_errno() and archive_error_string()
 * to retrieve details.  Unless specified otherwise, all functions
 * that return 'int' use these codes.
 */
#define	ARCHIVE_EOF	  1	/* Found end of archive. */
#define	ARCHIVE_OK	  0	/* Operation was successful. */
#define	ARCHIVE_RETRY	(-10)	/* Retry might succeed. */
#define	ARCHIVE_WARN	(-20)	/* Partial success. */
/* For example, if write_header "fails", then you can't push data. */
#define	ARCHIVE_FAILED	(-25)	/* Current operation cannot complete. */
/* But if write_header is "fatal," then this archive is dead and useless. */
#define	ARCHIVE_FATAL	(-30)	/* No more operations are possible. */

/*
 * As far as possible, archive_errno returns standard platform errno codes.
 * Of course, the details vary by platform, so the actual definitions
 * here are stored in "archive_platform.h".  The symbols are listed here
 * for reference; as a rule, clients should not need to know the exact
 * platform-dependent error code.
 */
/* Unrecognized or invalid file format. */
/* #define	ARCHIVE_ERRNO_FILE_FORMAT */
/* Illegal usage of the library. */
/* #define	ARCHIVE_ERRNO_PROGRAMMER_ERROR */
/* Unknown or unclassified error. */
/* #define	ARCHIVE_ERRNO_MISC */

/*
 * Callbacks are invoked to automatically read/skip/write/open/close the
 * archive. You can provide your own for complex tasks (like breaking
 * archives across multiple tapes) or use standard ones built into the
 * library.
 */

/* Returns pointer and size of next block of data from archive. */
typedef __LA_SSIZE_T	archive_read_callback(struct archive *,
			    void *_client_data, const void **_buffer);

/* Skips at most request bytes from archive and returns the skipped amount */
#if ARCHIVE_VERSION_NUMBER < 2000000
/* Libarchive 1.0 used ssize_t for the return, which is only 32 bits
 * on most 32-bit platforms; not large enough. */
typedef __LA_SSIZE_T	archive_skip_callback(struct archive *,
			    void *_client_data, size_t request);
#elif ARCHIVE_VERSION_NUMBER < 3000000
/* Libarchive 2.0 used off_t here, but that is a bad idea on Linux and a
 * few other platforms where off_t varies with build settings. */
typedef off_t		archive_skip_callback(struct archive *,
			    void *_client_data, off_t request);
#else
/* Libarchive 3.0 uses int64_t here, which is actually guaranteed to be
 * 64 bits on every platform. */
typedef __LA_INT64_T	archive_skip_callback(struct archive *,
			    void *_client_data, __LA_INT64_T request);
#endif

/* Returns size actually written, zero on EOF, -1 on error. */
typedef __LA_SSIZE_T	archive_write_callback(struct archive *,
			    void *_client_data,
			    const void *_buffer, size_t _length);

#if ARCHIVE_VERSION_NUMBER < 3000000
/* Open callback is actually never needed; remove it in libarchive 3.0. */
typedef int	archive_open_callback(struct archive *, void *_client_data);
#endif

typedef int	archive_close_callback(struct archive *, void *_client_data);

/*
 * Codes for archive_compression.
 */
#define	ARCHIVE_COMPRESSION_NONE	0
#define	ARCHIVE_COMPRESSION_GZIP	1
#define	ARCHIVE_COMPRESSION_BZIP2	2
#define	ARCHIVE_COMPRESSION_COMPRESS	3
#define	ARCHIVE_COMPRESSION_PROGRAM	4
#define	ARCHIVE_COMPRESSION_LZMA	5
#define	ARCHIVE_COMPRESSION_XZ		6
#define	ARCHIVE_COMPRESSION_UU		7
#define	ARCHIVE_COMPRESSION_RPM		8

/*
 * Codes returned by archive_format.
 *
 * Top 16 bits identifies the format family (e.g., "tar"); lower
 * 16 bits indicate the variant.  This is updated by read_next_header.
 * Note that the lower 16 bits will often vary from entry to entry.
 * In some cases, this variation occurs as libarchive learns more about
 * the archive (for example, later entries might utilize extensions that
 * weren't necessary earlier in the archive; in this case, libarchive
 * will change the format code to indicate the extended format that
 * was used).  In other cases, it's because different tools have
 * modified the archive and so different parts of the archive
 * actually have slightly different formts.  (Both tar and cpio store
 * format codes in each entry, so it is quite possible for each
 * entry to be in a different format.)
 */
#define	ARCHIVE_FORMAT_BASE_MASK		0xff0000
#define	ARCHIVE_FORMAT_CPIO			0x10000
#define	ARCHIVE_FORMAT_CPIO_POSIX		(ARCHIVE_FORMAT_CPIO | 1)
#define	ARCHIVE_FORMAT_CPIO_BIN_LE		(ARCHIVE_FORMAT_CPIO | 2)
#define	ARCHIVE_FORMAT_CPIO_BIN_BE		(ARCHIVE_FORMAT_CPIO | 3)
#define	ARCHIVE_FORMAT_CPIO_SVR4_NOCRC		(ARCHIVE_FORMAT_CPIO | 4)
#define	ARCHIVE_FORMAT_CPIO_SVR4_CRC		(ARCHIVE_FORMAT_CPIO | 5)
#define	ARCHIVE_FORMAT_SHAR			0x20000
#define	ARCHIVE_FORMAT_SHAR_BASE		(ARCHIVE_FORMAT_SHAR | 1)
#define	ARCHIVE_FORMAT_SHAR_DUMP		(ARCHIVE_FORMAT_SHAR | 2)
#define	ARCHIVE_FORMAT_TAR			0x30000
#define	ARCHIVE_FORMAT_TAR_USTAR		(ARCHIVE_FORMAT_TAR | 1)
#define	ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE	(ARCHIVE_FORMAT_TAR | 2)
#define	ARCHIVE_FORMAT_TAR_PAX_RESTRICTED	(ARCHIVE_FORMAT_TAR | 3)
#define	ARCHIVE_FORMAT_TAR_GNUTAR		(ARCHIVE_FORMAT_TAR | 4)
#define	ARCHIVE_FORMAT_ISO9660			0x40000
#define	ARCHIVE_FORMAT_ISO9660_ROCKRIDGE	(ARCHIVE_FORMAT_ISO9660 | 1)
#define	ARCHIVE_FORMAT_ZIP			0x50000
#define	ARCHIVE_FORMAT_EMPTY			0x60000
#define	ARCHIVE_FORMAT_AR			0x70000
#define	ARCHIVE_FORMAT_AR_GNU			(ARCHIVE_FORMAT_AR | 1)
#define	ARCHIVE_FORMAT_AR_BSD			(ARCHIVE_FORMAT_AR | 2)
#define	ARCHIVE_FORMAT_MTREE			0x80000
#define	ARCHIVE_FORMAT_RAW			0x90000
#define	ARCHIVE_FORMAT_XAR			0xA0000

/*-
 * Basic outline for reading an archive:
 *   1) Ask archive_read_new for an archive reader object.
 *   2) Update any global properties as appropriate.
 *      In particular, you'll certainly want to call appropriate
 *      archive_read_support_XXX functions.
 *   3) Call archive_read_open_XXX to open the archive
 *   4) Repeatedly call archive_read_next_header to get information about
 *      successive archive entries.  Call archive_read_data to extract
 *      data for entries of interest.
 *   5) Call archive_read_finish to end processing.
 */
__LA_DECL struct archive	*archive_read_new(void);

/*
 * The archive_read_support_XXX calls enable auto-detect for this
 * archive handle.  They also link in the necessary support code.
 * For example, if you don't want bzlib linked in, don't invoke
 * support_compression_bzip2().  The "all" functions provide the
 * obvious shorthand.
 */
__LA_DECL int		 archive_read_support_compression_all(struct archive *);
__LA_DECL int		 archive_read_support_compression_bzip2(struct archive *);
__LA_DECL int		 archive_read_support_compression_compress(struct archive *);
__LA_DECL int		 archive_read_support_compression_gzip(struct archive *);
__LA_DECL int		 archive_read_support_compression_lzma(struct archive *);
__LA_DECL int		 archive_read_support_compression_none(struct archive *);
__LA_DECL int		 archive_read_support_compression_program(struct archive *,
		     const char *command);
__LA_DECL int		 archive_read_support_compression_program_signature
				(struct archive *, const char *,
				    const void * /* match */, size_t);

__LA_DECL int		 archive_read_support_compression_rpm(struct archive *);
__LA_DECL int		 archive_read_support_compression_uu(struct archive *);
__LA_DECL int		 archive_read_support_compression_xz(struct archive *);

__LA_DECL int		 archive_read_support_format_all(struct archive *);
__LA_DECL int		 archive_read_support_format_ar(struct archive *);
__LA_DECL int		 archive_read_support_format_cpio(struct archive *);
__LA_DECL int		 archive_read_support_format_empty(struct archive *);
__LA_DECL int		 archive_read_support_format_gnutar(struct archive *);
__LA_DECL int		 archive_read_support_format_iso9660(struct archive *);
__LA_DECL int		 archive_read_support_format_mtree(struct archive *);
__LA_DECL int		 archive_read_support_format_raw(struct archive *);
__LA_DECL int		 archive_read_support_format_tar(struct archive *);
__LA_DECL int		 archive_read_support_format_xar(struct archive *);
__LA_DECL int		 archive_read_support_format_zip(struct archive *);


/* Open the archive using callbacks for archive I/O. */
__LA_DECL int		 archive_read_open(struct archive *, void *_client_data,
		     archive_open_callback *, archive_read_callback *,
		     archive_close_callback *);
__LA_DECL int		 archive_read_open2(struct archive *, void *_client_data,
		     archive_open_callback *, archive_read_callback *,
		     archive_skip_callback *, archive_close_callback *);

/*
 * A variety of shortcuts that invoke archive_read_open() with
 * canned callbacks suitable for common situations.  The ones that
 * accept a block size handle tape blocking correctly.
 */
/* Use this if you know the filename.  Note: NULL indicates stdin. */
__LA_DECL int		 archive_read_open_filename(struct archive *,
		     const char *_filename, size_t _block_size);
/* archive_read_open_file() is a deprecated synonym for ..._open_filename(). */
__LA_DECL int		 archive_read_open_file(struct archive *,
		     const char *_filename, size_t _block_size);
/* Read an archive that's stored in memory. */
__LA_DECL int		 archive_read_open_memory(struct archive *,
		     void * buff, size_t size);
/* A more involved version that is only used for internal testing. */
__LA_DECL int		archive_read_open_memory2(struct archive *a, void *buff,
		     size_t size, size_t read_size);
/* Read an archive that's already open, using the file descriptor. */
__LA_DECL int		 archive_read_open_fd(struct archive *, int _fd,
		     size_t _block_size);
/* Read an archive that's already open, using a FILE *. */
/* Note: DO NOT use this with tape drives. */
__LA_DECL int		 archive_read_open_FILE(struct archive *, FILE *_file);

/* Parses and returns next entry header. */
__LA_DECL int		 archive_read_next_header(struct archive *,
		     struct archive_entry **);

/* Parses and returns next entry header using the archive_entry passed in */
__LA_DECL int		 archive_read_next_header2(struct archive *,
		     struct archive_entry *);

/*
 * Retrieve the byte offset in UNCOMPRESSED data where last-read
 * header started.
 */
__LA_DECL __LA_INT64_T		 archive_read_header_position(struct archive *);

/* Read data from the body of an entry.  Similar to read(2). */
__LA_DECL __LA_SSIZE_T		 archive_read_data(struct archive *,
				    void *, size_t);

/*
 * A zero-copy version of archive_read_data that also exposes the file offset
 * of each returned block.  Note that the client has no way to specify
 * the desired size of the block.  The API does guarantee that offsets will
 * be strictly increasing and that returned blocks will not overlap.
 */
#if ARCHIVE_VERSION_NUMBER < 3000000
__LA_DECL int		 archive_read_data_block(struct archive *a,
			    const void **buff, size_t *size, off_t *offset);
#else
__LA_DECL int		 archive_read_data_block(struct archive *a,
			    const void **buff, size_t *size,
			    __LA_INT64_T *offset);
#endif

/*-
 * Some convenience functions that are built on archive_read_data:
 *  'skip': skips entire entry
 *  'into_buffer': writes data into memory buffer that you provide
 *  'into_fd': writes data to specified filedes
 */
__LA_DECL int		 archive_read_data_skip(struct archive *);
__LA_DECL int		 archive_read_data_into_buffer(struct archive *,
			    void *buffer, __LA_SSIZE_T len);
__LA_DECL int		 archive_read_data_into_fd(struct archive *, int fd);

/*
 * Set read options.
 */
/* Apply option string to the format only. */
__LA_DECL int		archive_read_set_format_options(struct archive *_a,
			    const char *s);
/* Apply option string to the filter only. */
__LA_DECL int		archive_read_set_filter_options(struct archive *_a,
			    const char *s);
/* Apply option string to both the format and the filter. */
__LA_DECL int		archive_read_set_options(struct archive *_a,
			    const char *s);

/*-
 * Convenience function to recreate the current entry (whose header
 * has just been read) on disk.
 *
 * This does quite a bit more than just copy data to disk. It also:
 *  - Creates intermediate directories as required.
 *  - Manages directory permissions:  non-writable directories will
 *    be initially created with write permission enabled; when the
 *    archive is closed, dir permissions are edited to the values specified
 *    in the archive.
 *  - Checks hardlinks:  hardlinks will not be extracted unless the
 *    linked-to file was also extracted within the same session. (TODO)
 */

/* The "flags" argument selects optional behavior, 'OR' the flags you want. */

/* Default: Do not try to set owner/group. */
#define	ARCHIVE_EXTRACT_OWNER			(0x0001)
/* Default: Do obey umask, do not restore SUID/SGID/SVTX bits. */
#define	ARCHIVE_EXTRACT_PERM			(0x0002)
/* Default: Do not restore mtime/atime. */
#define	ARCHIVE_EXTRACT_TIME			(0x0004)
/* Default: Replace existing files. */
#define	ARCHIVE_EXTRACT_NO_OVERWRITE 		(0x0008)
/* Default: Try create first, unlink only if create fails with EEXIST. */
#define	ARCHIVE_EXTRACT_UNLINK			(0x0010)
/* Default: Do not restore ACLs. */
#define	ARCHIVE_EXTRACT_ACL			(0x0020)
/* Default: Do not restore fflags. */
#define	ARCHIVE_EXTRACT_FFLAGS			(0x0040)
/* Default: Do not restore xattrs. */
#define	ARCHIVE_EXTRACT_XATTR 			(0x0080)
/* Default: Do not try to guard against extracts redirected by symlinks. */
/* Note: With ARCHIVE_EXTRACT_UNLINK, will remove any intermediate symlink. */
#define	ARCHIVE_EXTRACT_SECURE_SYMLINKS		(0x0100)
/* Default: Do not reject entries with '..' as path elements. */
#define	ARCHIVE_EXTRACT_SECURE_NODOTDOT		(0x0200)
/* Default: Create parent directories as needed. */
#define	ARCHIVE_EXTRACT_NO_AUTODIR		(0x0400)
/* Default: Overwrite files, even if one on disk is newer. */
#define	ARCHIVE_EXTRACT_NO_OVERWRITE_NEWER	(0x0800)
/* Detect blocks of 0 and write holes instead. */
#define	ARCHIVE_EXTRACT_SPARSE			(0x1000)

__LA_DECL int	 archive_read_extract(struct archive *, struct archive_entry *,
		     int flags);
__LA_DECL int	 archive_read_extract2(struct archive *, struct archive_entry *,
		     struct archive * /* dest */);
__LA_DECL void	 archive_read_extract_set_progress_callback(struct archive *,
		     void (*_progress_func)(void *), void *_user_data);

/* Record the dev/ino of a file that will not be written.  This is
 * generally set to the dev/ino of the archive being read. */
__LA_DECL void		archive_read_extract_set_skip_file(struct archive *,
		     dev_t, ino_t);

/* Close the file and release most resources. */
__LA_DECL int		 archive_read_close(struct archive *);
/* Release all resources and destroy the object. */
/* Note that archive_read_free will call archive_read_close for you. */
__LA_DECL int		 archive_read_free(struct archive *);
#if ARCHIVE_VERSION_NUMBER < 4000000
/* Synonym for archive_read_free() for backwards compatibility. */
__LA_DECL int		 archive_read_finish(struct archive *);
#endif

/*-
 * To create an archive:
 *   1) Ask archive_write_new for a archive writer object.
 *   2) Set any global properties.  In particular, you should set
 *      the compression and format to use.
 *   3) Call archive_write_open to open the file (most people
 *       will use archive_write_open_file or archive_write_open_fd,
 *       which provide convenient canned I/O callbacks for you).
 *   4) For each entry:
 *      - construct an appropriate struct archive_entry structure
 *      - archive_write_header to write the header
 *      - archive_write_data to write the entry data
 *   5) archive_write_close to close the output
 *   6) archive_write_free to cleanup the writer and release resources
 */
__LA_DECL struct archive	*archive_write_new(void);
__LA_DECL int		 archive_write_set_bytes_per_block(struct archive *,
		     int bytes_per_block);
__LA_DECL int		 archive_write_get_bytes_per_block(struct archive *);
/* XXX This is badly misnamed; suggestions appreciated. XXX */
__LA_DECL int		 archive_write_set_bytes_in_last_block(struct archive *,
		     int bytes_in_last_block);
__LA_DECL int		 archive_write_get_bytes_in_last_block(struct archive *);

/* The dev/ino of a file that won't be archived.  This is used
 * to avoid recursively adding an archive to itself. */
__LA_DECL int		 archive_write_set_skip_file(struct archive *, dev_t, ino_t);

__LA_DECL int		 archive_write_set_compression_bzip2(struct archive *);
__LA_DECL int		 archive_write_set_compression_compress(struct archive *);
__LA_DECL int		 archive_write_set_compression_gzip(struct archive *);
__LA_DECL int		 archive_write_set_compression_lzma(struct archive *);
__LA_DECL int		 archive_write_set_compression_none(struct archive *);
__LA_DECL int		 archive_write_set_compression_program(struct archive *,
		     const char *cmd);
__LA_DECL int		 archive_write_set_compression_xz(struct archive *);
/* A convenience function to set the format based on the code or name. */
__LA_DECL int		 archive_write_set_format(struct archive *, int format_code);
__LA_DECL int		 archive_write_set_format_by_name(struct archive *,
		     const char *name);
/* To minimize link pollution, use one or more of the following. */
__LA_DECL int		 archive_write_set_format_ar_bsd(struct archive *);
__LA_DECL int		 archive_write_set_format_ar_svr4(struct archive *);
__LA_DECL int		 archive_write_set_format_cpio(struct archive *);
__LA_DECL int		 archive_write_set_format_cpio_newc(struct archive *);
__LA_DECL int		 archive_write_set_format_mtree(struct archive *);
/* TODO: int archive_write_set_format_old_tar(struct archive *); */
__LA_DECL int		 archive_write_set_format_pax(struct archive *);
__LA_DECL int		 archive_write_set_format_pax_restricted(struct archive *);
__LA_DECL int		 archive_write_set_format_shar(struct archive *);
__LA_DECL int		 archive_write_set_format_shar_dump(struct archive *);
__LA_DECL int		 archive_write_set_format_ustar(struct archive *);
__LA_DECL int		 archive_write_set_format_zip(struct archive *);
__LA_DECL int		 archive_write_open(struct archive *, void *,
		     archive_open_callback *, archive_write_callback *,
		     archive_close_callback *);
__LA_DECL int		 archive_write_open_fd(struct archive *, int _fd);
__LA_DECL int		 archive_write_open_filename(struct archive *, const char *_file);
/* A deprecated synonym for archive_write_open_filename() */
__LA_DECL int		 archive_write_open_file(struct archive *, const char *_file);
__LA_DECL int		 archive_write_open_FILE(struct archive *, FILE *);
/* _buffSize is the size of the buffer, _used refers to a variable that
 * will be updated after each write into the buffer. */
__LA_DECL int		 archive_write_open_memory(struct archive *,
			void *_buffer, size_t _buffSize, size_t *_used);

/*
 * Note that the library will truncate writes beyond the size provided
 * to archive_write_header or pad if the provided data is short.
 */
__LA_DECL int		 archive_write_header(struct archive *,
		     struct archive_entry *);
#if ARCHIVE_VERSION_NUMBER < 2000000
/* This was erroneously declared to return "int" in libarchive 1.x. */
__LA_DECL int		 archive_write_data(struct archive *,
			    const void *, size_t);
#else
/* Libarchive 2.0 and later return ssize_t here. */
__LA_DECL __LA_SSIZE_T	 archive_write_data(struct archive *,
			    const void *, size_t);
#endif

#if ARCHIVE_VERSION_NUMBER < 3000000
/* Libarchive 1.x and 2.x use off_t for the argument, but that's not
 * stable on Linux. */
__LA_DECL __LA_SSIZE_T	 archive_write_data_block(struct archive *,
				    const void *, size_t, off_t);
#else
/* Libarchive 3.0 uses explicit int64_t to ensure consistent 64-bit support. */
__LA_DECL __LA_SSIZE_T	 archive_write_data_block(struct archive *,
				    const void *, size_t, __LA_INT64_T);
#endif
__LA_DECL int		 archive_write_finish_entry(struct archive *);
__LA_DECL int		 archive_write_close(struct archive *);

/* This can fail if the archive wasn't already closed, in which case
 * archive_write_free() will implicitly call archive_write_close(). */
__LA_DECL int		 archive_write_free(struct archive *);
#if ARCHIVE_VERSION_NUMBER < 4000000
/* Synonym for archive_write_free() for backwards compatibility. */
__LA_DECL int		 archive_write_finish(struct archive *);
#endif

/*
 * Set write options.
 */
/* Apply option string to the format only. */
__LA_DECL int		archive_write_set_format_options(struct archive *_a,
			    const char *s);
/* Apply option string to the compressor only. */
__LA_DECL int		archive_write_set_compressor_options(struct archive *_a,
			    const char *s);
/* Apply option string to both the format and the compressor. */
__LA_DECL int		archive_write_set_options(struct archive *_a,
			    const char *s);


/*-
 * ARCHIVE_WRITE_DISK API
 *
 * To create objects on disk:
 *   1) Ask archive_write_disk_new for a new archive_write_disk object.
 *   2) Set any global properties.  In particular, you probably
 *      want to set the options.
 *   3) For each entry:
 *      - construct an appropriate struct archive_entry structure
 *      - archive_write_header to create the file/dir/etc on disk
 *      - archive_write_data to write the entry data
 *   4) archive_write_free to cleanup the writer and release resources
 *
 * In particular, you can use this in conjunction with archive_read()
 * to pull entries out of an archive and create them on disk.
 */
__LA_DECL struct archive	*archive_write_disk_new(void);
/* This file will not be overwritten. */
__LA_DECL int		 archive_write_disk_set_skip_file(struct archive *,
		     dev_t, ino_t);
/* Set flags to control how the next item gets created.
 * This accepts a bitmask of ARCHIVE_EXTRACT_XXX flags defined above. */
__LA_DECL int		 archive_write_disk_set_options(struct archive *,
		     int flags);
/*
 * The lookup functions are given uname/uid (or gname/gid) pairs and
 * return a uid (gid) suitable for this system.  These are used for
 * restoring ownership and for setting ACLs.  The default functions
 * are naive, they just return the uid/gid.  These are small, so reasonable
 * for applications that don't need to preserve ownership; they
 * are probably also appropriate for applications that are doing
 * same-system backup and restore.
 */
/*
 * The "standard" lookup functions use common system calls to lookup
 * the uname/gname, falling back to the uid/gid if the names can't be
 * found.  They cache lookups and are reasonably fast, but can be very
 * large, so they are not used unless you ask for them.  In
 * particular, these match the specifications of POSIX "pax" and old
 * POSIX "tar".
 */
__LA_DECL int	 archive_write_disk_set_standard_lookup(struct archive *);
/*
 * If neither the default (naive) nor the standard (big) functions suit
 * your needs, you can write your own and register them.  Be sure to
 * include a cleanup function if you have allocated private data.
 */
__LA_DECL int	 archive_write_disk_set_group_lookup(struct archive *,
			    void * /* private_data */,
			    __LA_GID_T (*)(void *, const char *, __LA_GID_T),
			    void (* /* cleanup */)(void *));
__LA_DECL int	 archive_write_disk_set_user_lookup(struct archive *,
			    void * /* private_data */,
			    __LA_UID_T (*)(void *, const char *, __LA_UID_T),
			    void (* /* cleanup */)(void *));

/*
 * ARCHIVE_READ_DISK API
 *
 * This is still evolving and somewhat experimental.
 */
__LA_DECL struct archive *archive_read_disk_new(void);
/* The names for symlink modes here correspond to an old BSD
 * command-line argument convention: -L, -P, -H */
/* Follow all symlinks. */
__LA_DECL int archive_read_disk_set_symlink_logical(struct archive *);
/* Follow no symlinks. */
__LA_DECL int archive_read_disk_set_symlink_physical(struct archive *);
/* Follow symlink initially, then not. */
__LA_DECL int archive_read_disk_set_symlink_hybrid(struct archive *);
/* TODO: Handle Linux stat32/stat64 ugliness. <sigh> */
__LA_DECL int archive_read_disk_entry_from_file(struct archive *,
    struct archive_entry *, int /* fd */, const struct stat *);
/* Look up gname for gid or uname for uid. */
/* Default implementations are very, very stupid. */
__LA_DECL const char *archive_read_disk_gname(struct archive *, __LA_GID_T);
__LA_DECL const char *archive_read_disk_uname(struct archive *, __LA_UID_T);
/* "Standard" implementation uses getpwuid_r, getgrgid_r and caches the
 * results for performance. */
__LA_DECL int	archive_read_disk_set_standard_lookup(struct archive *);
/* You can install your own lookups if you like. */
__LA_DECL int	archive_read_disk_set_gname_lookup(struct archive *,
    void * /* private_data */,
    const char *(* /* lookup_fn */)(void *, __LA_GID_T),
    void (* /* cleanup_fn */)(void *));
__LA_DECL int	archive_read_disk_set_uname_lookup(struct archive *,
    void * /* private_data */,
    const char *(* /* lookup_fn */)(void *, __LA_UID_T),
    void (* /* cleanup_fn */)(void *));

/*
 * Accessor functions to read/set various information in
 * the struct archive object:
 */
/* Bytes written after compression or read before decompression. */
__LA_DECL __LA_INT64_T	 archive_position_compressed(struct archive *);
/* Bytes written to compressor or read from decompressor. */
__LA_DECL __LA_INT64_T	 archive_position_uncompressed(struct archive *);

__LA_DECL const char	*archive_compression_name(struct archive *);
__LA_DECL int		 archive_compression(struct archive *);
__LA_DECL int		 archive_errno(struct archive *);
__LA_DECL const char	*archive_error_string(struct archive *);
__LA_DECL const char	*archive_format_name(struct archive *);
__LA_DECL int		 archive_format(struct archive *);
__LA_DECL void		 archive_clear_error(struct archive *);
__LA_DECL void		 archive_set_error(struct archive *, int _err,
			    const char *fmt, ...);
__LA_DECL void		 archive_copy_error(struct archive *dest,
			    struct archive *src);
__LA_DECL int		 archive_file_count(struct archive *);

#ifdef __cplusplus
}
#endif

/* These are meaningless outside of this header. */
#undef __LA_DECL
#undef __LA_GID_T
#undef __LA_UID_T

/* These need to remain defined because they're used in the
 * callback type definitions.  XXX Fix this.  This is ugly. XXX */
/* #undef __LA_INT64_T */
/* #undef __LA_SSIZE_T */

#endif /* !ARCHIVE_H_INCLUDED */


================================================
FILE: freebsd-headers/archive_entry.h
================================================
/*-
 * Copyright (c) 2003-2008 Tim Kientzle
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * $FreeBSD: release/9.0.0/lib/libarchive/archive_entry.h 201096 2009-12-28 02:41:27Z kientzle $
 */

#ifndef ARCHIVE_ENTRY_H_INCLUDED
#define	ARCHIVE_ENTRY_H_INCLUDED

/*
 * Note: archive_entry.h is for use outside of libarchive; the
 * configuration headers (config.h, archive_platform.h, etc.) are
 * purely internal.  Do NOT use HAVE_XXX configuration macros to
 * control the behavior of this header!  If you must conditionalize,
 * use predefined compiler and/or platform macros.
 */

#include <sys/types.h>
#include <stddef.h>  /* for wchar_t */
#include <time.h>

#if defined(_WIN32) && !defined(__CYGWIN__)
#include <windows.h>
#endif

/* Get appropriate definitions of standard POSIX-style types. */
/* These should match the types used in 'struct stat' */
#if defined(_WIN32) && !defined(__CYGWIN__)
#define	__LA_INT64_T	__int64
# if defined(__BORLANDC__)
#  define	__LA_UID_T	uid_t
#  define	__LA_GID_T	gid_t
#  define	__LA_DEV_T	dev_t
#  define	__LA_MODE_T	mode_t
# else
#  define	__LA_UID_T	short
#  define	__LA_GID_T	short
#  define	__LA_DEV_T	unsigned int
#  define	__LA_MODE_T	unsigned short
# endif
#else
#include <unistd.h>
#define	__LA_INT64_T	int64_t
#define	__LA_UID_T	uid_t
#define	__LA_GID_T	gid_t
#define	__LA_DEV_T	dev_t
#define	__LA_MODE_T	mode_t
#endif

/*
 * XXX Is this defined for all Windows compilers?  If so, in what
 * header?  It would be nice to remove the __LA_INO_T indirection and
 * just use plain ino_t everywhere.  Likewise for the other types just
 * above.
 */
#define	__LA_INO_T	ino_t


/*
 * On Windows, define LIBARCHIVE_STATIC if you're building or using a
 * .lib.  The default here assumes you're building a DLL.  Only
 * libarchive source should ever define __LIBARCHIVE_BUILD.
 */
#if ((defined __WIN32__) || (defined _WIN32) || defined(__CYGWIN__)) && (!defined LIBARCHIVE_STATIC)
# ifdef __LIBARCHIVE_BUILD
#  ifdef __GNUC__
#   define __LA_DECL	__attribute__((dllexport)) extern
#  else
#   define __LA_DECL	__declspec(dllexport)
#  endif
# else
#  ifdef __GNUC__
#   define __LA_DECL	__attribute__((dllimport)) extern
#  else
#   define __LA_DECL	__declspec(dllimport)
#  endif
# endif
#else
/* Static libraries on all platforms and shared libraries on non-Windows. */
# define __LA_DECL
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Description of an archive entry.
 *
 * You can think of this as "struct stat" with some text fields added in.
 *
 * TODO: Add "comment", "charset", and possibly other entries that are
 * supported by "pax interchange" format.  However, GNU, ustar, cpio,
 * and other variants don't support these features, so they're not an
 * excruciatingly high priority right now.
 *
 * TODO: "pax interchange" format allows essentially arbitrary
 * key/value attributes to be attached to any entry.  Supporting
 * such extensions may make this library useful for special
 * applications (e.g., a package manager could attach special
 * package-management attributes to each entry).
 */
struct archive_entry;

/*
 * File-type constants.  These are returned from archive_entry_filetype()
 * and passed to archive_entry_set_filetype().
 *
 * These values match S_XXX defines on every platform I've checked,
 * including Windows, AIX, Linux, Solaris, and BSD.  They're
 * (re)defined here because platforms generally don't define the ones
 * they don't support.  For example, Windows doesn't define S_IFLNK or
 * S_IFBLK.  Instead of having a mass of conditional logic and system
 * checks to define any S_XXX values that aren't supported locally,
 * I've just defined a new set of such constants so that
 * libarchive-based applications can manipulate and identify archive
 * entries properly even if the hosting platform can't store them on
 * disk.
 *
 * These values are also used directly within some portable formats,
 * such as cpio.  If you find a platform that varies from these, the
 * correct solution is to leave these alone and translate from these
 * portable values to platform-native values when entries are read from
 * or written to disk.
 */
#define	AE_IFMT		0170000
#define	AE_IFREG	0100000
#define	AE_IFLNK	0120000
#define	AE_IFSOCK	0140000
#define	AE_IFCHR	0020000
#define	AE_IFBLK	0060000
#define	AE_IFDIR	0040000
#define	AE_IFIFO	0010000

/*
 * Basic object manipulation
 */

__LA_DECL struct archive_entry	*archive_entry_clear(struct archive_entry *);
/* The 'clone' function does a deep copy; all of the strings are copied too. */
__LA_DECL struct archive_entry	*archive_entry_clone(struct archive_entry *);
__LA_DECL void			 archive_entry_free(struct archive_entry *);
__LA_DECL struct archive_entry	*archive_entry_new(void);

/*
 * Retrieve fields from an archive_entry.
 *
 * There are a number of implicit conversions among these fields.  For
 * example, if a regular string field is set and you read the _w wide
 * character field, the entry will implicitly convert narrow-to-wide
 * using the current locale.  Similarly, dev values are automatically
 * updated when you write devmajor or devminor and vice versa.
 *
 * In addition, fields can be "set" or "unset."  Unset string fields
 * return NULL, non-string fields have _is_set() functions to test
 * whether they've been set.  You can "unset" a string field by
 * assigning NULL; non-string fields have _unset() functions to
 * unset them.
 *
 * Note: There is one ambiguity in the above; string fields will
 * also return NULL when implicit character set conversions fail.
 * This is usually what you want.
 */
__LA_DECL time_t	 archive_entry_atime(struct archive_entry *);
__LA_DECL long		 archive_entry_atime_nsec(struct archive_entry *);
__LA_DECL int		 archive_entry_atime_is_set(struct archive_entry *);
__LA_DECL time_t	 archive_entry_birthtime(struct archive_entry *);
__LA_DECL long		 archive_entry_birthtime_nsec(struct archive_entry *);
__LA_DECL int		 archive_entry_birthtime_is_set(struct archive_entry *);
__LA_DECL time_t	 archive_entry_ctime(struct archive_entry *);
__LA_DECL long		 archive_entry_ctime_nsec(struct archive_entry *);
__LA_DECL int		 archive_entry_ctime_is_set(struct archive_entry *);
__LA_DECL dev_t		 archive_entry_dev(struct archive_entry *);
__LA_DECL dev_t		 archive_entry_devmajor(struct archive_entry *);
__LA_DECL dev_t		 archive_entry_devminor(struct archive_entry *);
__LA_DECL __LA_MODE_T	 archive_entry_filetype(struct archive_entry *);
__LA_DECL void		 archive_entry_fflags(struct archive_entry *,
			    unsigned long * /* set */,
			    unsigned long * /* clear */);
__LA_DECL const char	*archive_entry_fflags_text(struct archive_entry *);
__LA_DECL __LA_GID_T	 archive_entry_gid(struct archive_entry *);
__LA_DECL const char	*archive_entry_gname(struct archive_entry *);
__LA_DECL const wchar_t	*archive_entry_gname_w(struct archive_entry *);
__LA_DECL const char	*archive_entry_hardlink(struct archive_entry *);
__LA_DECL const wchar_t	*archive_entry_hardlink_w(struct archive_entry *);
__LA_DECL __LA_INO_T	 archive_entry_ino(struct archive_entry *);
__LA_DECL __LA_INT64_T	 archive_entry_ino64(struct archive_entry *);
__LA_DECL __LA_MODE_T	 archive_entry_mode(struct archive_entry *);
__LA_DECL time_t	 archive_entry_mtime(struct archive_entry *);
__LA_DECL long		 archive_entry_mtime_nsec(struct archive_entry *);
__LA_DECL int		 archive_entry_mtime_is_set(struct archive_entry *);
__LA_DECL unsigned int	 archive_entry_nlink(struct archive_entry *);
__LA_DECL const char	*archive_entry_pathname(struct archive_entry *);
__LA_DECL const wchar_t	*archive_entry_pathname_w(struct archive_entry *);
__LA_DECL dev_t		 archive_entry_rdev(struct archive_entry *);
__LA_DECL dev_t		 archive_entry_rdevmajor(struct archive_entry *);
__LA_DECL dev_t		 archive_entry_rdevminor(struct archive_entry *);
__LA_DECL const char	*archive_entry_sourcepath(struct archive_entry *);
__LA_DECL __LA_INT64_T	 archive_entry_size(struct archive_entry *);
__LA_DECL int		 archive_entry_size_is_set(struct archive_entry *);
__LA_DECL const char	*archive_entry_strmode(struct archive_entry *);
__LA_DECL const char	*archive_entry_symlink(struct archive_entry *);
__LA_DECL const wchar_t	*archive_entry_symlink_w(struct archive_entry *);
__LA_DECL __LA_UID_T	 archive_entry_uid(struct archive_entry *);
__LA_DECL const char	*archive_entry_uname(struct archive_entry *);
__LA_DECL const wchar_t	*archive_entry_uname_w(struct archive_entry *);

/*
 * Set fields in an archive_entry.
 *
 * Note that string 'set' functions do not copy the string, only the pointer.
 * In contrast, 'copy' functions do copy the object pointed to.
 *
 * Note: As of libarchive 2.4, 'set' functions do copy the string and
 * are therefore exact synonyms for the 'copy' versions.  The 'copy'
 * names will be retired in libarchive 3.0.
 */

__LA_DECL void	archive_entry_set_atime(struct archive_entry *, time_t, long);
__LA_DECL void  archive_entry_unset_atime(struct archive_entry *);
#if defined(_WIN32) && !defined(__CYGWIN__)
__LA_DECL void archive_entry_copy_bhfi(struct archive_entry *,
									   BY_HANDLE_FILE_INFORMATION *);
#endif
__LA_DECL void	archive_entry_set_birthtime(struct archive_entry *, time_t, long);
__LA_DECL void  archive_entry_unset_birthtime(struct archive_entry *);
__LA_DECL void	archive_entry_set_ctime(struct archive_entry *, time_t, long);
__LA_DECL void  archive_entry_unset_ctime(struct archive_entry *);
__LA_DECL void	archive_entry_set_dev(struct archive_entry *, dev_t);
__LA_DECL void	archive_entry_set_devmajor(struct archive_entry *, dev_t);
__LA_DECL void	archive_entry_set_devminor(struct archive_entry *, dev_t);
__LA_DECL void	archive_entry_set_filetype(struct archive_entry *, unsigned int);
__LA_DECL void	archive_entry_set_fflags(struct archive_entry *,
	    unsigned long /* set */, unsigned long /* clear */);
/* Returns pointer to start of first invalid token, or NULL if none. */
/* Note that all recognized tokens are processed, regardless. */
__LA_DECL const char *archive_entry_copy_fflags_text(struct archive_entry *,
	    const char *);
__LA_DECL const wchar_t *archive_entry_copy_fflags_text_w(struct archive_entry *,
	    const wchar_t *);
__LA_DECL void	archive_entry_set_gid(struct archive_entry *, __LA_GID_T);
__LA_DECL void	archive_entry_set_gname(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_gname(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_gname_w(struct archive_entry *, const wchar_t *);
__LA_DECL int	archive_entry_update_gname_utf8(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_set_hardlink(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_hardlink(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_hardlink_w(struct archive_entry *, const wchar_t *);
__LA_DECL int	archive_entry_update_hardlink_utf8(struct archive_entry *, const char *);
#if ARCHIVE_VERSION_NUMBER >= 3000000
/* Starting with libarchive 3.0, this will be synonym for ino64. */
__LA_DECL void	archive_entry_set_ino(struct archive_entry *, __LA_INT64_T);
#else
__LA_DECL void	archive_entry_set_ino(struct archive_entry *, unsigned long);
#endif
__LA_DECL void	archive_entry_set_ino64(struct archive_entry *, __LA_INT64_T);
__LA_DECL void	archive_entry_set_link(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_link(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_link_w(struct archive_entry *, const wchar_t *);
__LA_DECL int	archive_entry_update_link_utf8(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_set_mode(struct archive_entry *, __LA_MODE_T);
__LA_DECL void	archive_entry_set_mtime(struct archive_entry *, time_t, long);
__LA_DECL void  archive_entry_unset_mtime(struct archive_entry *);
__LA_DECL void	archive_entry_set_nlink(struct archive_entry *, unsigned int);
__LA_DECL void	archive_entry_set_pathname(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_pathname(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_pathname_w(struct archive_entry *, const wchar_t *);
__LA_DECL int	archive_entry_update_pathname_utf8(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_set_perm(struct archive_entry *, __LA_MODE_T);
__LA_DECL void	archive_entry_set_rdev(struct archive_entry *, dev_t);
__LA_DECL void	archive_entry_set_rdevmajor(struct archive_entry *, dev_t);
__LA_DECL void	archive_entry_set_rdevminor(struct archive_entry *, dev_t);
__LA_DECL void	archive_entry_set_size(struct archive_entry *, __LA_INT64_T);
__LA_DECL void	archive_entry_unset_size(struct archive_entry *);
__LA_DECL void	archive_entry_copy_sourcepath(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_set_symlink(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_symlink(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_symlink_w(struct archive_entry *, const wchar_t *);
__LA_DECL int	archive_entry_update_symlink_utf8(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_set_uid(struct archive_entry *, __LA_UID_T);
__LA_DECL void	archive_entry_set_uname(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_uname(struct archive_entry *, const char *);
__LA_DECL void	archive_entry_copy_uname_w(struct archive_entry *, const wchar_t *);
__LA_DECL int	archive_entry_update_uname_utf8(struct archive_entry *, const char *);
/*
 * Routines to bulk copy fields to/from a platform-native "struct
 * stat."  Libarchive used to just store a struct stat inside of each
 * archive_entry object, but this created issues when trying to
 * manipulate archives on systems different than the ones they were
 * created on.
 *
 * TODO: On Linux, provide both stat32 and stat64 versions of these functions.
 */
__LA_DECL const struct stat	*archive_entry_stat(struct archive_entry *);
__LA_DECL void	archive_entry_copy_stat(struct archive_entry *, const struct stat *);


/*
 * ACL routines.  This used to simply store and return text-format ACL
 * strings, but that proved insufficient for a number of reasons:
 *   = clients need control over uname/uid and gname/gid mappings
 *   = there are many different ACL text formats
 *   = would like to be able to read/convert archives containing ACLs
 *     on platforms that lack ACL libraries
 *
 *  This last point, in particular, forces me to implement a reasonably
 *  complete set of ACL support routines.
 *
 *  TODO: Extend this to support NFSv4/NTFS permissions.  That should
 *  allow full ACL support on Mac OS, in particular, which uses
 *  POSIX.1e-style interfaces to manipulate NFSv4/NTFS permissions.
 */

/*
 * Permission bits mimic POSIX.1e.  Note that I've not followed POSIX.1e's
 * "permset"/"perm" abstract type nonsense.  A permset is just a simple
 * bitmap, following long-standing Unix tradition.
 */
#define	ARCHIVE_ENTRY_ACL_EXECUTE	1
#define	ARCHIVE_ENTRY_ACL_WRITE		2
#define	ARCHIVE_ENTRY_ACL_READ		4

/* We need to be able to specify either or both of these. */
#define	ARCHIVE_ENTRY_ACL_TYPE_ACCESS	256
#define	ARCHIVE_ENTRY_ACL_TYPE_DEFAULT	512

/* Tag values mimic POSIX.1e */
#define	ARCHIVE_ENTRY_ACL_USER		10001	/* Specified user. */
#define	ARCHIVE_ENTRY_ACL_USER_OBJ 	10002	/* User who owns the file. */
#define	ARCHIVE_ENTRY_ACL_GROUP		10003	/* Specified group. */
#define	ARCHIVE_ENTRY_ACL_GROUP_OBJ	10004	/* Group who owns the file. */
#define	ARCHIVE_ENTRY_ACL_MASK		10005	/* Modify group access. */
#define	ARCHIVE_ENTRY_ACL_OTHER		10006	/* Public. */

/*
 * Set the ACL by clearing it and adding entries one at a time.
 * Unlike the POSIX.1e ACL routines, you must specify the type
 * (access/default) for each entry.  Internally, the ACL data is just
 * a soup of entries.  API calls here allow you to retrieve just the
 * entries of interest.  This design (which goes against the spirit of
 * POSIX.1e) is useful for handling archive formats that combine
 * default and access information in a single ACL list.
 */
__LA_DECL void	 archive_entry_acl_clear(struct archive_entry *);
__LA_DECL void	 archive_entry_acl_add_entry(struct archive_entry *,
	    int /* type */, int /* permset */, int /* tag */,
	    int /* qual */, const char * /* name */);
__LA_DECL void	 archive_entry_acl_add_entry_w(struct archive_entry *,
	    int /* type */, int /* permset */, int /* tag */,
	    int /* qual */, const wchar_t * /* name */);

/*
 * To retrieve the ACL, first "reset", then repeatedly ask for the
 * "next" entry.  The want_type parameter allows you to request only
 * access entries or only default entries.
 */
__LA_DECL int	 archive_entry_acl_reset(struct archive_entry *, int /* want_type */);
__LA_DECL int	 archive_entry_acl_next(struct archive_entry *, int /* want_type */,
	    int * /* type */, int * /* permset */, int * /* tag */,
	    int * /* qual */, const char ** /* name */);
__LA_DECL int	 archive_entry_acl_next_w(struct archive_entry *, int /* want_type */,
	    int * /* type */, int * /* permset */, int * /* tag */,
	    int * /* qual */, const wchar_t ** /* name */);

/*
 * Construct a text-format ACL.  The flags argument is a bitmask that
 * can include any of the following:
 *
 * ARCHIVE_ENTRY_ACL_TYPE_ACCESS - Include access entries.
 * ARCHIVE_ENTRY_ACL_TYPE_DEFAULT - Include default entries.
 * ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID - Include extra numeric ID field in
 *    each ACL entry.  (As used by 'star'.)
 * ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT - Include "default:" before each
 *    default ACL entry.
 */
#define	ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID	1024
#define	ARCHIVE_ENTRY_ACL_STYLE_MARK_DEFAULT	2048
__LA_DECL const wchar_t	*archive_entry_acl_text_w(struct archive_entry *,
		    int /* flags */);

/* Return a count of entries matching 'want_type' */
__LA_DECL int	 archive_entry_acl_count(struct archive_entry *, int /* want_type */);

/*
 * Private ACL parser.  This is private because it handles some
 * very weird formats that clients should not be messing with.
 * Clients should only deal with their platform-native formats.
 * Because of the need to support many formats cleanly, new arguments
 * are likely to get added on a regular basis.  Clients who try to use
 * this interface are likely to be surprised when it changes.
 *
 * You were warned!
 *
 * TODO: Move this declaration out of the public header and into
 * a private header.  Warnings above are silly.
 */
__LA_DECL int		 __archive_entry_acl_parse_w(struct archive_entry *,
		    const wchar_t *, int /* type */);

/*
 * extended attributes
 */

__LA_DECL void	 archive_entry_xattr_clear(struct archive_entry *);
__LA_DECL void	 archive_entry_xattr_add_entry(struct archive_entry *,
	    const char * /* name */, const void * /* value */,
	    size_t /* size */);

/*
 * To retrieve the xattr list, first "reset", then repeatedly ask for the
 * "next" entry.
 */

__LA_DECL int	archive_entry_xattr_count(struct archive_entry *);
__LA_DECL int	archive_entry_xattr_reset(struct archive_entry *);
__LA_DECL int	archive_entry_xattr_next(struct archive_entry *,
	    const char ** /* name */, const void ** /* value */, size_t *);

/*
 * Utility to match up hardlinks.
 *
 * The 'struct archive_entry_linkresolver' is a cache of archive entries
 * for files with multiple links.  Here's how to use it:
 *   1. Create a lookup object with archive_entry_linkresolver_new()
 *   2. Tell it the archive format you're using.
 *   3. Hand each archive_entry to archive_entry_linkify().
 *      That function will return 0, 1, or 2 entries that should
 *      be written.
 *   4. Call archive_entry_linkify(resolver, NULL) until
 *      no more entries are returned.
 *   5. Call archive_entry_link_resolver_free(resolver) to free resources.
 *
 * The entries returned have their hardlink and size fields updated
 * appropriately.  If an entry is passed in that does not refer to
 * a file with multiple links, it is returned unchanged.  The intention
 * is that you should be able to simply filter all entries through
 * this machine.
 *
 * To make things more efficient, be sure that each entry has a valid
 * nlinks value.  The hardlink cache uses this to track when all links
 * have been found.  If the nlinks value is zero, it will keep every
 * name in the cache indefinitely, which can use a lot of memory.
 *
 * Note that archive_entry_size() is reset to zero if the file
 * body should not be written to the archive.  Pay attention!
 */
struct archive_entry_linkresolver;

/*
 * There are three different strategies for marking hardlinks.
 * The descriptions below name them after the best-known
 * formats that rely on each strategy:
 *
 * "Old cpio" is the simplest, it always returns any entry unmodified.
 *    As far as I know, only cpio formats use this.  Old cpio archives
 *    store every link with the full body; the onus is on the dearchiver
 *    to detect and properly link the files as they are restored.
 * "tar" is also pretty simple; it caches a copy the first time it sees
 *    any link.  Subsequent appearances are modified to be hardlink
 *    references to the first one without any body.  Used by all tar
 *    formats, although the newest tar formats permit the "old cpio" strategy
 *    as well.  This strategy is very simple for the dearchiver,
 *    and reasonably straightforward for the archiver.
 * "new cpio" is trickier.  It stores the body only with the last
 *    occurrence.  The complication is that we might not
 *    see every link to a particular file in a single session, so
 *    there's no easy way to know when we've seen the last occurrence.
 *    The solution here is to queue one link until we see the next.
 *    At the end of the session, you can enumerate any remaining
 *    entries by calling archive_entry_linkify(NULL) and store those
 *    bodies.  If you have a file with three links l1, l2, and l3,
 *    you'll get the following behavior if you see all three links:
 *           linkify(l1) => NULL   (the resolver stores l1 internally)
 *           linkify(l2) => l1     (resolver stores l2, you write l1)
 *           linkify(l3) => l2, l3 (all links seen, you can write both).
 *    If you only see l1 and l2, you'll get this behavior:
 *           linkify(l1) => NULL
 *           linkify(l2) => l1
 *           linkify(NULL) => l2   (at end, you retrieve remaining links)
 *    As the name suggests, this strategy is used by newer cpio variants.
 *    It's noticably more complex for the archiver, slightly more complex
 *    for the dearchiver than the tar strategy, but makes it straightforward
 *    to restore a file using any link by simply continuing to scan until
 *    you see a link that is stored with a body.  In contrast, the tar
 *    strategy requires you to rescan the archive from the beginning to
 *    correctly extract an arbitrary link.
 */

__LA_DECL struct archive_entry_linkresolver *archive_entry_linkresolver_new(void);
__LA_DECL void archive_entry_linkresolver_set_strategy(
	struct archive_entry_linkresolver *, int /* format_code */);
__LA_DECL void archive_entry_linkresolver_free(struct archive_entry_linkresolver *);
__LA_DECL void archive_entry_linkify(struct archive_entry_linkresolver *,
    struct archive_entry **, struct archive_entry **);

#ifdef __cplusplus
}
#endif

/* This is meaningless outside of this header. */
#undef __LA_DECL

#endif /* !ARCHIVE_ENTRY_H_INCLUDED */


================================================
FILE: freebsd-headers/arpa/ftp.h
================================================
/*
 * Copyright (c) 1983, 1989, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@(#)ftp.h	8.1 (Berkeley) 6/2/93
 *
 * $FreeBSD: release/9.0.0/include/arpa/ftp.h 203965 2010-02-16 19:46:46Z imp $
 */

#ifndef _ARPA_FTP_H_
#define	_ARPA_FTP_H_

/* Definitions for FTP; see RFC-765. */

/*
 * Reply codes.
 */
#define PRELIM		1	/* positive preliminary */
#define COMPLETE	2	/* positive completion */
#define CONTINUE	3	/* positive intermediate */
#define TRANSIENT	4	/* transient negative completion */
#define ERROR		5	/* permanent negative completion */

/*
 * Type codes
 */
#define	TYPE_A		1	/* ASCII */
#define	TYPE_E		2	/* EBCDIC */
#define	TYPE_I		3	/* image */
#define	TYPE_L		4	/* local byte size */

#ifdef FTP_NAMES
char *typenames[] =  {"0", "ASCII", "EBCDIC", "Image", "Local" };
#endif

/*
 * Form codes
 */
#define	FORM_N		1	/* non-print */
#define	FORM_T		2	/* telnet format effectors */
#define	FORM_C		3	/* carriage control (ASA) */
#ifdef FTP_NAMES
char *formnames[] =  {"0", "Nonprint", "Telnet", "Carriage-control" };
#endif

/*
 * Structure codes
 */
#define	STRU_F		1	/* file (no record structure) */
#define	STRU_R		2	/* record structure */
#define	STRU_P		3	/* page structure */
#ifdef FTP_NAMES
char *strunames[] =  {"0", "File", "Record", "Page" };
#endif

/*
 * Mode types
 */
#define	MODE_S		1	/* stream */
#define	MODE_B		2	/* block */
#define	MODE_C		3	/* compressed */
#ifdef FTP_NAMES
char *modenames[] =  {"0", "Stream", "Block", "Compressed" };
#endif

/*
 * Record Tokens
 */
#define	REC_ESC		'\377'	/* Record-mode Escape */
#define	REC_EOR		'\001'	/* Record-mode End-of-Record */
#define REC_EOF		'\002'	/* Record-mode End-of-File */

/*
 * Block Header
 */
#define	BLK_EOR		0x80	/* Block is End-of-Record */
#define	BLK_EOF		0x40	/* Block is End-of-File */
#define BLK_ERRORS	0x20	/* Block is suspected of containing errors */
#define	BLK_RESTART	0x10	/* Block is Restart Marker */

#define	BLK_BYTECOUNT	2	/* Bytes in this block */

#endif /* !_FTP_H_ */


================================================
FILE: freebsd-headers/arpa/inet.h
================================================
/*
 * ++Copyright++ 1983, 1993
 * -
 * Copyright (c) 1983, 1993
 *    The Regents of the University of California.  All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 * -
 * Portions Copyright (c) 1993 by Digital Equipment Corporation.
 * 
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies, and that
 * the name of Digital Equipment Corporation not be used in advertising or
 * publicity pertaining to distribution of the document or software without
 * specific, written prior permission.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
 * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
 * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 * SOFTWARE.
 * -
 * --Copyright--
 */

/*%
 *	@(#)inet.h	8.1 (Berkeley) 6/2/93
 *	$Id: inet.h,v 1.2.18.1 2005/04/27 05:00:50 sra Exp $
 * $FreeBSD: release/9.0.0/include/arpa/inet.h 209715 2010-07-06 03:48:46Z maxim $
 */

#ifndef _ARPA_INET_H_
#define	_ARPA_INET_H_

/* External definitions for functions in inet(3). */

#include <sys/cdefs.h>
#include <sys/_types.h>

/* Required for byteorder(3) functions. */
#include <machine/endian.h>

#define	INET_ADDRSTRLEN		16
#define	INET6_ADDRSTRLEN	46

#ifndef _UINT16_T_DECLARED
typedef	__uint16_t	uint16_t;
#define	_UINT16_T_DECLARED
#endif

#ifndef _UINT32_T_DECLARED
typedef	__uint32_t	uint32_t;
#define	_UINT32_T_DECLARED
#endif

#ifndef _IN_ADDR_T_DECLARED
typedef	uint32_t	in_addr_t;
#define	_IN_ADDR_T_DECLARED
#endif

#ifndef _IN_PORT_T_DECLARED
typedef	uint16_t	in_port_t;
#define	_IN_PORT_T_DECLARED
#endif

#if __BSD_VISIBLE
#ifndef _SIZE_T_DECLARED
typedef	__size_t	size_t;
#define	_SIZE_T_DECLARED
#endif
#endif

/*
 * XXX socklen_t is used by a POSIX.1-2001 interface, but not required by
 * POSIX.1-2001.
 */
#ifndef _SOCKLEN_T_DECLARED
typedef	__socklen_t	socklen_t;
#define	_SOCKLEN_T_DECLARED
#endif

#ifndef _STRUCT_IN_ADDR_DECLARED
struct in_addr {
	in_addr_t s_addr;
};
#define	_STRUCT_IN_ADDR_DECLARED
#endif

/* XXX all new diversions!! argh!! */
#if __BSD_VISIBLE
#define	inet_addr		__inet_addr
#define	inet_aton		__inet_aton
#define	inet_lnaof		__inet_lnaof
#define	inet_makeaddr		__inet_makeaddr
#define	inet_neta		__inet_neta
#define	inet_netof		__inet_netof
#define	inet_network		__inet_network
#define	inet_net_ntop		__inet_net_ntop
#define	inet_net_pton		__inet_net_pton
#define	inet_cidr_ntop		__inet_cidr_ntop
#define	inet_cidr_pton		__inet_cidr_pton
#define	inet_ntoa		__inet_ntoa
#define	inet_ntoa_r		__inet_ntoa_r
#define	inet_pton		__inet_pton
#define	inet_ntop		__inet_ntop
#define	inet_nsap_addr		__inet_nsap_addr
#define	inet_nsap_ntoa		__inet_nsap_ntoa
#endif /* __BSD_VISIBLE */

__BEGIN_DECLS
#ifndef _BYTEORDER_PROTOTYPED
#define	_BYTEORDER_PROTOTYPED
uint32_t	 htonl(uint32_t);
uint16_t	 htons(uint16_t);
uint32_t	 ntohl(uint32_t);
uint16_t	 ntohs(uint16_t);
#endif

in_addr_t	 inet_addr(const char *);
/*const*/ char	*inet_ntoa(struct in_addr);
const char	*inet_ntop(int, const void * __restrict, char * __restrict,
		    socklen_t);
int		 inet_pton(int, const char * __restrict, void * __restrict);

#if __BSD_VISIBLE
int		 inet_aton(const char *, struct in_addr *);
in_addr_t	 inet_lnaof(struct in_addr);
struct in_addr	 inet_makeaddr(in_addr_t, in_addr_t);
char *		 inet_neta(in_addr_t, char *, size_t);
in_addr_t	 inet_netof(struct in_addr);
in_addr_t	 inet_network(const char *);
char		*inet_net_ntop(int, const void *, int, char *, size_t);
int		 inet_net_pton(int, const char *, void *, size_t);
char		*inet_ntoa_r(struct in_addr, char *buf, socklen_t size);
char		*inet_cidr_ntop(int, const void *, int, char *, size_t);
int		 inet_cidr_pton(int, const char *, void *, int *);
unsigned	 inet_nsap_addr(const char *, unsigned char *, int);
char		*inet_nsap_ntoa(int, const unsigned char *, char *);
#endif /* __BSD_VISIBLE */
__END_DECLS

#ifndef _BYTEORDER_FUNC_DEFINED
#define	_BYTEORDER_FUNC_DEFINED
#define	htonl(x)	__htonl(x)
#define	htons(x)	__htons(x)
#define	ntohl(x)	__ntohl(x)
#define	ntohs(x)	__ntohs(x)
#endif

#endif /* !_ARPA_INET_H_ */

/*! \file */


================================================
FILE: freebsd-headers/arpa/nameser.h
================================================
/*
 * Copyright (c) 1983, 1989, 1993
 *    The Regents of the University of California.  All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

/*
 * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
 * Copyright (c) 1996-1999 by Internet Software Consortium.
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

/*
 *	$Id: nameser.h,v 1.7.18.2 2008/04/03 23:15:15 marka Exp $
 * $FreeBSD: release/9.0.0/include/arpa/nameser.h 203965 2010-02-16 19:46:46Z imp $
 */

#ifndef _ARPA_NAMESER_H_
#define _ARPA_NAMESER_H_

/*! \file */

#define BIND_4_COMPAT

#include <sys/param.h>
#include <sys/types.h>
#include <sys/cdefs.h>

/*%
 * Revision information.  This is the release date in YYYYMMDD format.
 * It can change every day so the right thing to do with it is use it
 * in preprocessor commands such as "#if (__NAMESER > 19931104)".  Do not
 * compare for equality; rather, use it to determine whether your libbind.a
 * contains a new enough lib/nameser/ to support the feature you need.
 */

#define __NAMESER	19991006	/*%< New interface version stamp. */
/*
 * Define constants based on RFC0883, RFC1034, RFC 1035
 */
#define NS_PACKETSZ	512	/*%< default UDP packet size */
#define NS_MAXDNAME	1025	/*%< maximum domain name */
#define NS_MAXMSG	65535	/*%< maximum message size */
#define NS_MAXCDNAME	255	/*%< maximum compressed domain name */
#define NS_MAXLABEL	63	/*%< maximum length of domain label */
#define NS_HFIXEDSZ	12	/*%< #/bytes of fixed data in header */
#define NS_QFIXEDSZ	4	/*%< #/bytes of fixed data in query */
#define NS_RRFIXEDSZ	10	/*%< #/bytes of fixed data in r record */
#define NS_INT32SZ	4	/*%< #/bytes of data in a u_int32_t */
#define NS_INT16SZ	2	/*%< #/bytes of data in a u_int16_t */
#define NS_INT8SZ	1	/*%< #/bytes of data in a u_int8_t */
#define NS_INADDRSZ	4	/*%< IPv4 T_A */
#define NS_IN6ADDRSZ	16	/*%< IPv6 T_AAAA */
#define NS_CMPRSFLGS	0xc0	/*%< Flag bits indicating name compression. */
#define NS_DEFAULTPORT	53	/*%< For both TCP and UDP. */
/*
 * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord()
 * in synch with it.
 */
typedef enum __ns_sect {
	ns_s_qd = 0,		/*%< Query: Question. */
	ns_s_zn = 0,		/*%< Update: Zone. */
	ns_s_an = 1,		/*%< Query: Answer. */
	ns_s_pr = 1,		/*%< Update: Prerequisites. */
	ns_s_ns = 2,		/*%< Query: Name servers. */
	ns_s_ud = 2,		/*%< Update: Update. */
	ns_s_ar = 3,		/*%< Query|Update: Additional records. */
	ns_s_max = 4
} ns_sect;

/*%
 * This is a message handle.  It is caller allocated and has no dynamic data.
 * This structure is intended to be opaque to all but ns_parse.c, thus the
 * leading _'s on the member names.  Use the accessor functions, not the _'s.
 */
typedef struct __ns_msg {
	const u_char	*_msg, *_eom;
	u_int16_t	_id, _flags, _counts[ns_s_max];
	const u_char	*_sections[ns_s_max];
	ns_sect		_sect;
	int		_rrnum;
	const u_char	*_msg_ptr;
} ns_msg;

/* Private data structure - do not use from outside library. */
struct _ns_flagdata {  int mask, shift;  };
extern struct _ns_flagdata _ns_flagdata[];

/* Accessor macros - this is part of the public interface. */

#define ns_msg_id(handle) ((handle)._id + 0)
#define ns_msg_base(handle) ((handle)._msg + 0)
#define ns_msg_end(handle) ((handle)._eom + 0)
#define ns_msg_size(handle) ((handle)._eom - (handle)._msg)
#define ns_msg_count(handle, section) ((handle)._counts[section] + 0)

/*%
 * This is a parsed record.  It is caller allocated and has no dynamic data.
 */
typedef	struct __ns_rr {
	char		name[NS_MAXDNAME];
	u_int16_t	type;
	u_int16_t	rr_class;
	u_int32_t	ttl;
	u_int16_t	rdlength;
	const u_char *	rdata;
} ns_rr;

/* Accessor macros - this is part of the public interface. */
#define ns_rr_name(rr)	(((rr).name[0] != '\0') ? (rr).name : ".")
#define ns_rr_type(rr)	((ns_type)((rr).type + 0))
#define ns_rr_class(rr)	((ns_class)((rr).rr_class + 0))
#define ns_rr_ttl(rr)	((rr).ttl + 0)
#define ns_rr_rdlen(rr)	((rr).rdlength + 0)
#define ns_rr_rdata(rr)	((rr).rdata + 0)

/*%
 * These don't have to be in the same order as in the packet flags word,
 * and they can even overlap in some cases, but they will need to be kept
 * in synch with ns_parse.c:ns_flagdata[].
 */
typedef enum __ns_flag {
	ns_f_qr,		/*%< Question/Response. */
	ns_f_opcode,		/*%< Operation code. */
	ns_f_aa,		/*%< Authoritative Answer. */
	ns_f_tc,		/*%< Truncation occurred. */
	ns_f_rd,		/*%< Recursion Desired. */
	ns_f_ra,		/*%< Recursion Available. */
	ns_f_z,			/*%< MBZ. */
	ns_f_ad,		/*%< Authentic Data (DNSSEC). */
	ns_f_cd,		/*%< Checking Disabled (DNSSEC). */
	ns_f_rcode,		/*%< Response code. */
	ns_f_max
} ns_flag;

/*%
 * Currently defined opcodes.
 */
typedef enum __ns_opcode {
	ns_o_query = 0,		/*%< Standard query. */
	ns_o_iquery = 1,	/*%< Inverse query (deprecated/unsupported). */
	ns_o_status = 2,	/*%< Name server status query (unsupported). */
				/* Opcode 3 is undefined/reserved. */
	ns_o_notify = 4,	/*%< Zone change notification. */
	ns_o_update = 5,	/*%< Zone update message. */
	ns_o_max = 6
} ns_opcode;

/*%
 * Currently defined response codes.
 */
typedef	enum __ns_rcode {
	ns_r_noerror = 0,	/*%< No error occurred. */
	ns_r_formerr = 1,	/*%< Format error. */
	ns_r_servfail = 2,	/*%< Server failure. */
	ns_r_nxdomain = 3,	/*%< Name error. */
	ns_r_notimpl = 4,	/*%< Unimplemented. */
	ns_r_refused = 5,	/*%< Operation refused. */
	/* these are for BIND_UPDATE */
	ns_r_yxdomain = 6,	/*%< Name exists */
	ns_r_yxrrset = 7,	/*%< RRset exists */
	ns_r_nxrrset = 8,	/*%< RRset does not exist */
	ns_r_notauth = 9,	/*%< Not authoritative for zone */
	ns_r_notzone = 10,	/*%< Zone of record different from zone section */
	ns_r_max = 11,
	/* The following are EDNS extended rcodes */
	ns_r_badvers = 16,
	/* The following are TSIG errors */
	ns_r_badsig = 16,
	ns_r_badkey = 17,
	ns_r_badtime = 18
} ns_rcode;

/* BIND_UPDATE */
typedef enum __ns_update_operation {
	ns_uop_delete = 0,
	ns_uop_add = 1,
	ns_uop_max = 2
} ns_update_operation;

/*%
 * This structure is used for TSIG authenticated messages
 */
struct ns_tsig_key {
        char name[NS_MAXDNAME], alg[NS_MAXDNAME];
        unsigned char *data;
        int len;
};
typedef struct ns_tsig_key ns_tsig_key;

/*%
 * This structure is used for TSIG authenticated TCP messages
 */
struct ns_tcp_tsig_state {
	int counter;
	struct dst_key *key;
	void *ctx;
	unsigned char sig[NS_PACKETSZ];
	int siglen;
};
typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;

#define NS_TSIG_FUDGE 300
#define NS_TSIG_TCP_COUNT 100
#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"

#define NS_TSIG_ERROR_NO_TSIG -10
#define NS_TSIG_ERROR_NO_SPACE -11
#define NS_TSIG_ERROR_FORMERR -12

/*%
 * Currently defined type values for resources and queries.
 */
typedef enum __ns_type {
	ns_t_invalid = 0,	/*%< Cookie. */
	ns_t_a = 1,		/*%< Host address. */
	ns_t_ns = 2,		/*%< Authoritative server. */
	ns_t_md = 3,		/*%< Mail destination. */
	ns_t_mf = 4,		/*%< Mail forwarder. */
	ns_t_cname = 5,		/*%< Canonical name. */
	ns_t_soa = 6,		/*%< Start of authority zone. */
	ns_t_mb = 7,		/*%< Mailbox domain name. */
	ns_t_mg = 8,		/*%< Mail group member. */
	ns_t_mr = 9,		/*%< Mail rename name. */
	ns_t_null = 10,		/*%< Null resource record. */
	ns_t_wks = 11,		/*%< Well known service. */
	ns_t_ptr = 12,		/*%< Domain name pointer. */
	ns_t_hinfo = 13,	/*%< Host information. */
	ns_t_minfo = 14,	/*%< Mailbox information. */
	ns_t_mx = 15,		/*%< Mail routing information. */
	ns_t_txt = 16,		/*%< Text strings. */
	ns_t_rp = 17,		/*%< Responsible person. */
	ns_t_afsdb = 18,	/*%< AFS cell database. */
	ns_t_x25 = 19,		/*%< X_25 calling address. */
	ns_t_isdn = 20,		/*%< ISDN calling address. */
	ns_t_rt = 21,		/*%< Router. */
	ns_t_nsap = 22,		/*%< NSAP address. */
	ns_t_nsap_ptr = 23,	/*%< Reverse NSAP lookup (deprecated). */
	ns_t_sig = 24,		/*%< Security signature. */
	ns_t_key = 25,		/*%< Security key. */
	ns_t_px = 26,		/*%< X.400 mail mapping. */
	ns_t_gpos = 27,		/*%< Geographical position (withdrawn). */
	ns_t_aaaa = 28,		/*%< Ip6 Address. */
	ns_t_loc = 29,		/*%< Location Information. */
	ns_t_nxt = 30,		/*%< Next domain (security). */
	ns_t_eid = 31,		/*%< Endpoint identifier. */
	ns_t_nimloc = 32,	/*%< Nimrod Locator. */
	ns_t_srv = 33,		/*%< Server Selection. */
	ns_t_atma = 34,		/*%< ATM Address */
	ns_t_naptr = 35,	/*%< Naming Authority PoinTeR */
	ns_t_kx = 36,		/*%< Key Exchange */
	ns_t_cert = 37,		/*%< Certification record */
	ns_t_a6 = 38,		/*%< IPv6 address (deprecates AAAA) */
	ns_t_dname = 39,	/*%< Non-terminal DNAME (for IPv6) */
	ns_t_sink = 40,		/*%< Kitchen sink (experimentatl) */
	ns_t_opt = 41,		/*%< EDNS0 option (meta-RR) */
	ns_t_apl = 42,		/*%< Address prefix list (RFC3123) */
	ns_t_tkey = 249,	/*%< Transaction key */
	ns_t_tsig = 250,	/*%< Transaction signature. */
	ns_t_ixfr = 251,	/*%< Incremental zone transfer. */
	ns_t_axfr = 252,	/*%< Transfer zone of authority. */
	ns_t_mailb = 253,	/*%< Transfer mailbox records. */
	ns_t_maila = 254,	/*%< Transfer mail agent records. */
	ns_t_any = 255,		/*%< Wildcard match. */
	ns_t_zxfr = 256,	/*%< BIND-specific, nonstandard. */
	ns_t_max = 65536
} ns_type;

/* Exclusively a QTYPE? (not also an RTYPE) */
#define	ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \
		      (t) == ns_t_mailb || (t) == ns_t_maila)
/* Some kind of meta-RR? (not a QTYPE, but also not an RTYPE) */
#define	ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt)
/* Exclusively an RTYPE? (not also a QTYPE or a meta-RR) */
#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t))
#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr)
#define ns_t_xfr_p(t) (
Download .txt
gitextract_hyp4ebkl/

├── .github/
│   └── workflows/
│       └── ci.yml
├── .gitmodules
├── ci-ps5-kstuff-ldr.sh
├── freebsd-headers/
│   ├── Block.h
│   ├── Block_private.h
│   ├── FlexLexer.h
│   ├── _ctype.h
│   ├── a.out.h
│   ├── alias.h
│   ├── altq/
│   │   ├── altq.h
│   │   ├── altq_cbq.h
│   │   ├── altq_cdnr.h
│   │   ├── altq_classq.h
│   │   ├── altq_hfsc.h
│   │   ├── altq_priq.h
│   │   ├── altq_red.h
│   │   ├── altq_rio.h
│   │   ├── altq_rmclass.h
│   │   ├── altq_rmclass_debug.h
│   │   ├── altq_var.h
│   │   ├── altqconf.h
│   │   └── if_altq.h
│   ├── ar.h
│   ├── archive.h
│   ├── archive_entry.h
│   ├── arpa/
│   │   ├── ftp.h
│   │   ├── inet.h
│   │   ├── nameser.h
│   │   ├── nameser_compat.h
│   │   ├── telnet.h
│   │   └── tftp.h
│   ├── asn1_err.h
│   ├── assert.h
│   ├── bitstring.h
│   ├── bluetooth.h
│   ├── bsdxml.h
│   ├── bsdxml_external.h
│   ├── bsm/
│   │   ├── audit.h
│   │   ├── audit_domain.h
│   │   ├── audit_errno.h
│   │   ├── audit_fcntl.h
│   │   ├── audit_internal.h
│   │   ├── audit_kevents.h
│   │   ├── audit_record.h
│   │   ├── audit_socket_type.h
│   │   ├── audit_uevents.h
│   │   └── libbsm.h
│   ├── bsnmp/
│   │   ├── asn1.h
│   │   ├── bridge_snmp.h
│   │   ├── snmp.h
│   │   ├── snmp_atm.h
│   │   ├── snmp_mibII.h
│   │   ├── snmp_netgraph.h
│   │   ├── snmpagent.h
│   │   ├── snmpclient.h
│   │   └── snmpmod.h
│   ├── bzlib.h
│   ├── c++/
│   │   └── 4.2/
│   │       ├── algorithm
│   │       ├── backward/
│   │       │   ├── algo.h
│   │       │   ├── algobase.h
│   │       │   ├── alloc.h
│   │       │   ├── backward_warning.h
│   │       │   ├── bvector.h
│   │       │   ├── complex.h
│   │       │   ├── defalloc.h
│   │       │   ├── deque.h
│   │       │   ├── fstream.h
│   │       │   ├── function.h
│   │       │   ├── hash_map.h
│   │       │   ├── hash_set.h
│   │       │   ├── hashtable.h
│   │       │   ├── heap.h
│   │       │   ├── iomanip.h
│   │       │   ├── iostream.h
│   │       │   ├── istream.h
│   │       │   ├── iterator.h
│   │       │   ├── list.h
│   │       │   ├── map.h
│   │       │   ├── multimap.h
│   │       │   ├── multiset.h
│   │       │   ├── new.h
│   │       │   ├── ostream.h
│   │       │   ├── pair.h
│   │       │   ├── queue.h
│   │       │   ├── rope.h
│   │       │   ├── set.h
│   │       │   ├── slist.h
│   │       │   ├── stack.h
│   │       │   ├── stream.h
│   │       │   ├── streambuf.h
│   │       │   ├── strstream
│   │       │   ├── tempbuf.h
│   │       │   ├── tree.h
│   │       │   └── vector.h
│   │       ├── bits/
│   │       │   ├── allocator.h
│   │       │   ├── atomic_word.h
│   │       │   ├── basic_file.h
│   │       │   ├── basic_ios.h
│   │       │   ├── basic_ios.tcc
│   │       │   ├── basic_string.h
│   │       │   ├── basic_string.tcc
│   │       │   ├── boost_concept_check.h
│   │       │   ├── c++allocator.h
│   │       │   ├── c++config.h
│   │       │   ├── c++io.h
│   │       │   ├── c++locale.h
│   │       │   ├── c++locale_internal.h
│   │       │   ├── char_traits.h
│   │       │   ├── cmath.tcc
│   │       │   ├── codecvt.h
│   │       │   ├── compatibility.h
│   │       │   ├── concept_check.h
│   │       │   ├── cpp_type_traits.h
│   │       │   ├── cpu_defines.h
│   │       │   ├── ctype_base.h
│   │       │   ├── ctype_inline.h
│   │       │   ├── ctype_noninline.h
│   │       │   ├── cxxabi_tweaks.h
│   │       │   ├── deque.tcc
│   │       │   ├── fstream.tcc
│   │       │   ├── functexcept.h
│   │       │   ├── gslice.h
│   │       │   ├── gslice_array.h
│   │       │   ├── gthr-default.h
│   │       │   ├── gthr-posix.h
│   │       │   ├── gthr-single.h
│   │       │   ├── gthr-tpf.h
│   │       │   ├── gthr.h
│   │       │   ├── indirect_array.h
│   │       │   ├── ios_base.h
│   │       │   ├── istream.tcc
│   │       │   ├── list.tcc
│   │       │   ├── locale_classes.h
│   │       │   ├── locale_facets.h
│   │       │   ├── locale_facets.tcc
│   │       │   ├── localefwd.h
│   │       │   ├── mask_array.h
│   │       │   ├── messages_members.h
│   │       │   ├── os_defines.h
│   │       │   ├── ostream.tcc
│   │       │   ├── ostream_insert.h
│   │       │   ├── postypes.h
│   │       │   ├── slice_array.h
│   │       │   ├── sstream.tcc
│   │       │   ├── stl_algo.h
│   │       │   ├── stl_algobase.h
│   │       │   ├── stl_bvector.h
│   │       │   ├── stl_construct.h
│   │       │   ├── stl_deque.h
│   │       │   ├── stl_function.h
│   │       │   ├── stl_heap.h
│   │       │   ├── stl_iterator.h
│   │       │   ├── stl_iterator_base_funcs.h
│   │       │   ├── stl_iterator_base_types.h
│   │       │   ├── stl_list.h
│   │       │   ├── stl_map.h
│   │       │   ├── stl_multimap.h
│   │       │   ├── stl_multiset.h
│   │       │   ├── stl_numeric.h
│   │       │   ├── stl_pair.h
│   │       │   ├── stl_queue.h
│   │       │   ├── stl_raw_storage_iter.h
│   │       │   ├── stl_relops.h
│   │       │   ├── stl_set.h
│   │       │   ├── stl_stack.h
│   │       │   ├── stl_tempbuf.h
│   │       │   ├── stl_tree.h
│   │       │   ├── stl_uninitialized.h
│   │       │   ├── stl_vector.h
│   │       │   ├── stream_iterator.h
│   │       │   ├── streambuf.tcc
│   │       │   ├── streambuf_iterator.h
│   │       │   ├── stringfwd.h
│   │       │   ├── time_members.h
│   │       │   ├── valarray_after.h
│   │       │   ├── valarray_array.h
│   │       │   ├── valarray_array.tcc
│   │       │   ├── valarray_before.h
│   │       │   └── vector.tcc
│   │       ├── bitset
│   │       ├── cassert
│   │       ├── cctype
│   │       ├── cerrno
│   │       ├── cfloat
│   │       ├── ciso646
│   │       ├── climits
│   │       ├── clocale
│   │       ├── cmath
│   │       ├── complex
│   │       ├── csetjmp
│   │       ├── csignal
│   │       ├── cstdarg
│   │       ├── cstddef
│   │       ├── cstdio
│   │       ├── cstdlib
│   │       ├── cstring
│   │       ├── ctime
│   │       ├── cwchar
│   │       ├── cwctype
│   │       ├── cxxabi.h
│   │       ├── debug/
│   │       │   ├── bitset
│   │       │   ├── debug.h
│   │       │   ├── deque
│   │       │   ├── formatter.h
│   │       │   ├── functions.h
│   │       │   ├── hash_map
│   │       │   ├── hash_map.h
│   │       │   ├── hash_multimap.h
│   │       │   ├── hash_multiset.h
│   │       │   ├── hash_set
│   │       │   ├── hash_set.h
│   │       │   ├── list
│   │       │   ├── macros.h
│   │       │   ├── map
│   │       │   ├── map.h
│   │       │   ├── multimap.h
│   │       │   ├── multiset.h
│   │       │   ├── safe_base.h
│   │       │   ├── safe_iterator.h
│   │       │   ├── safe_iterator.tcc
│   │       │   ├── safe_sequence.h
│   │       │   ├── set
│   │       │   ├── set.h
│   │       │   ├── string
│   │       │   └── vector
│   │       ├── deque
│   │       ├── exception
│   │       ├── exception_defines.h
│   │       ├── ext/
│   │       │   ├── algorithm
│   │       │   ├── array_allocator.h
│   │       │   ├── atomicity.h
│   │       │   ├── bitmap_allocator.h
│   │       │   ├── codecvt_specializations.h
│   │       │   ├── concurrence.h
│   │       │   ├── debug_allocator.h
│   │       │   ├── functional
│   │       │   ├── hash_fun.h
│   │       │   ├── hash_map
│   │       │   ├── hash_set
│   │       │   ├── hashtable.h
│   │       │   ├── iterator
│   │       │   ├── malloc_allocator.h
│   │       │   ├── memory
│   │       │   ├── mt_allocator.h
│   │       │   ├── new_allocator.h
│   │       │   ├── numeric
│   │       │   ├── numeric_traits.h
│   │       │   ├── pb_ds/
│   │       │   │   ├── assoc_container.hpp
│   │       │   │   ├── detail/
│   │       │   │   │   ├── basic_tree_policy/
│   │       │   │   │   │   ├── basic_tree_policy_base.hpp
│   │       │   │   │   │   ├── null_node_metadata.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── basic_types.hpp
│   │       │   │   │   ├── bin_search_tree_/
│   │       │   │   │   │   ├── bin_search_tree_.hpp
│   │       │   │   │   │   ├── cond_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── cond_key_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── node_iterators.hpp
│   │       │   │   │   │   ├── point_iterators.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── r_erase_fn_imps.hpp
│   │       │   │   │   │   ├── rotate_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── binary_heap_/
│   │       │   │   │   │   ├── binary_heap_.hpp
│   │       │   │   │   │   ├── const_iterator.hpp
│   │       │   │   │   │   ├── const_point_iterator.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── entry_cmp.hpp
│   │       │   │   │   │   ├── entry_pred.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── resize_policy.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── binomial_heap_/
│   │       │   │   │   │   ├── binomial_heap_.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   └── debug_fn_imps.hpp
│   │       │   │   │   ├── binomial_heap_base_/
│   │       │   │   │   │   ├── binomial_heap_base_.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   └── split_join_fn_imps.hpp
│   │       │   │   │   ├── cc_hash_table_map_/
│   │       │   │   │   │   ├── cc_ht_map_.hpp
│   │       │   │   │   │   ├── cmp_fn_imps.hpp
│   │       │   │   │   │   ├── cond_key_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── debug_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── entry_list_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── erase_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── erase_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── find_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── insert_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── insert_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── resize_fn_imps.hpp
│   │       │   │   │   │   ├── resize_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── resize_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── size_fn_imps.hpp
│   │       │   │   │   │   ├── standard_policies.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── cond_dealtor.hpp
│   │       │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   ├── container_base_dispatch.hpp
│   │       │   │   │   ├── eq_fn/
│   │       │   │   │   │   ├── eq_by_less.hpp
│   │       │   │   │   │   └── hash_eq_fn.hpp
│   │       │   │   │   ├── gp_hash_table_map_/
│   │       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── constructor_destructor_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── debug_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── debug_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── erase_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── erase_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── find_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── find_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── gp_ht_map_.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── insert_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── insert_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── iterator_fn_imps.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── resize_fn_imps.hpp
│   │       │   │   │   │   ├── resize_no_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── resize_store_hash_fn_imps.hpp
│   │       │   │   │   │   ├── standard_policies.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── hash_fn/
│   │       │   │   │   │   ├── direct_mask_range_hashing_imp.hpp
│   │       │   │   │   │   ├── direct_mod_range_hashing_imp.hpp
│   │       │   │   │   │   ├── linear_probe_fn_imp.hpp
│   │       │   │   │   │   ├── mask_based_range_hashing.hpp
│   │       │   │   │   │   ├── mod_based_range_hashing.hpp
│   │       │   │   │   │   ├── probe_fn_base.hpp
│   │       │   │   │   │   ├── quadratic_probe_fn_imp.hpp
│   │       │   │   │   │   ├── ranged_hash_fn.hpp
│   │       │   │   │   │   ├── ranged_probe_fn.hpp
│   │       │   │   │   │   ├── sample_probe_fn.hpp
│   │       │   │   │   │   ├── sample_range_hashing.hpp
│   │       │   │   │   │   ├── sample_ranged_hash_fn.hpp
│   │       │   │   │   │   └── sample_ranged_probe_fn.hpp
│   │       │   │   │   ├── left_child_next_sibling_heap_/
│   │       │   │   │   │   ├── const_iterator.hpp
│   │       │   │   │   │   ├── const_point_iterator.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── left_child_next_sibling_heap_.hpp
│   │       │   │   │   │   ├── node.hpp
│   │       │   │   │   │   ├── null_metadata.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── list_update_map_/
│   │       │   │   │   │   ├── constructor_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── entry_metadata_base.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── lu_map_.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── list_update_policy/
│   │       │   │   │   │   ├── counter_lu_metadata.hpp
│   │       │   │   │   │   ├── counter_lu_policy_imp.hpp
│   │       │   │   │   │   ├── mtf_lu_policy_imp.hpp
│   │       │   │   │   │   └── sample_update_policy.hpp
│   │       │   │   │   ├── map_debug_base.hpp
│   │       │   │   │   ├── ov_tree_map_/
│   │       │   │   │   │   ├── cond_dtor.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── node_iterators.hpp
│   │       │   │   │   │   ├── ov_tree_map_.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── pairing_heap_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── pairing_heap_.hpp
│   │       │   │   │   │   └── split_join_fn_imps.hpp
│   │       │   │   │   ├── pat_trie_/
│   │       │   │   │   │   ├── child_iterator.hpp
│   │       │   │   │   │   ├── cond_dtor_entry_dealtor.hpp
│   │       │   │   │   │   ├── const_child_iterator.hpp
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── head.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_join_fn_imps.hpp
│   │       │   │   │   │   ├── internal_node.hpp
│   │       │   │   │   │   ├── iterators_fn_imps.hpp
│   │       │   │   │   │   ├── leaf.hpp
│   │       │   │   │   │   ├── node_base.hpp
│   │       │   │   │   │   ├── node_iterators.hpp
│   │       │   │   │   │   ├── node_metadata_base.hpp
│   │       │   │   │   │   ├── pat_trie_.hpp
│   │       │   │   │   │   ├── point_iterators.hpp
│   │       │   │   │   │   ├── policy_access_fn_imps.hpp
│   │       │   │   │   │   ├── r_erase_fn_imps.hpp
│   │       │   │   │   │   ├── rotate_fn_imps.hpp
│   │       │   │   │   │   ├── split_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_branch_bag.hpp
│   │       │   │   │   │   ├── synth_e_access_traits.hpp
│   │       │   │   │   │   ├── trace_fn_imps.hpp
│   │       │   │   │   │   ├── traits.hpp
│   │       │   │   │   │   └── update_fn_imps.hpp
│   │       │   │   │   ├── priority_queue_base_dispatch.hpp
│   │       │   │   │   ├── rb_tree_map_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── node.hpp
│   │       │   │   │   │   ├── rb_tree_.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── rc_binomial_heap_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── rc.hpp
│   │       │   │   │   │   ├── rc_binomial_heap_.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── resize_policy/
│   │       │   │   │   │   ├── cc_hash_max_collision_check_resize_trigger_imp.hpp
│   │       │   │   │   │   ├── hash_exponential_size_policy_imp.hpp
│   │       │   │   │   │   ├── hash_load_check_resize_trigger_imp.hpp
│   │       │   │   │   │   ├── hash_load_check_resize_trigger_size_base.hpp
│   │       │   │   │   │   ├── hash_prime_size_policy_imp.hpp
│   │       │   │   │   │   ├── hash_standard_resize_policy_imp.hpp
│   │       │   │   │   │   ├── sample_resize_policy.hpp
│   │       │   │   │   │   ├── sample_resize_trigger.hpp
│   │       │   │   │   │   └── sample_size_policy.hpp
│   │       │   │   │   ├── splay_tree_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── info_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── node.hpp
│   │       │   │   │   │   ├── splay_fn_imps.hpp
│   │       │   │   │   │   ├── splay_tree_.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   └── traits.hpp
│   │       │   │   │   ├── standard_policies.hpp
│   │       │   │   │   ├── thin_heap_/
│   │       │   │   │   │   ├── constructors_destructor_fn_imps.hpp
│   │       │   │   │   │   ├── debug_fn_imps.hpp
│   │       │   │   │   │   ├── erase_fn_imps.hpp
│   │       │   │   │   │   ├── find_fn_imps.hpp
│   │       │   │   │   │   ├── insert_fn_imps.hpp
│   │       │   │   │   │   ├── split_join_fn_imps.hpp
│   │       │   │   │   │   ├── thin_heap_.hpp
│   │       │   │   │   │   └── trace_fn_imps.hpp
│   │       │   │   │   ├── tree_policy/
│   │       │   │   │   │   ├── node_metadata_selector.hpp
│   │       │   │   │   │   ├── null_node_update_imp.hpp
│   │       │   │   │   │   ├── order_statistics_imp.hpp
│   │       │   │   │   │   └── sample_tree_node_update.hpp
│   │       │   │   │   ├── tree_trace_base.hpp
│   │       │   │   │   ├── trie_policy/
│   │       │   │   │   │   ├── node_metadata_selector.hpp
│   │       │   │   │   │   ├── null_node_update_imp.hpp
│   │       │   │   │   │   ├── order_statistics_imp.hpp
│   │       │   │   │   │   ├── prefix_search_node_update_imp.hpp
│   │       │   │   │   │   ├── sample_trie_e_access_traits.hpp
│   │       │   │   │   │   ├── sample_trie_node_update.hpp
│   │       │   │   │   │   ├── string_trie_e_access_traits_imp.hpp
│   │       │   │   │   │   └── trie_policy_base.hpp
│   │       │   │   │   ├── type_utils.hpp
│   │       │   │   │   ├── types_traits.hpp
│   │       │   │   │   └── unordered_iterator/
│   │       │   │   │       ├── const_iterator.hpp
│   │       │   │   │       ├── const_point_iterator.hpp
│   │       │   │   │       ├── iterator.hpp
│   │       │   │   │       └── point_iterator.hpp
│   │       │   │   ├── exception.hpp
│   │       │   │   ├── hash_policy.hpp
│   │       │   │   ├── list_update_policy.hpp
│   │       │   │   ├── priority_queue.hpp
│   │       │   │   ├── tag_and_trait.hpp
│   │       │   │   ├── tree_policy.hpp
│   │       │   │   └── trie_policy.hpp
│   │       │   ├── pod_char_traits.h
│   │       │   ├── pool_allocator.h
│   │       │   ├── rb_tree
│   │       │   ├── rc_string_base.h
│   │       │   ├── rope
│   │       │   ├── ropeimpl.h
│   │       │   ├── slist
│   │       │   ├── sso_string_base.h
│   │       │   ├── stdio_filebuf.h
│   │       │   ├── stdio_sync_filebuf.h
│   │       │   ├── throw_allocator.h
│   │       │   ├── type_traits.h
│   │       │   ├── typelist.h
│   │       │   ├── vstring.h
│   │       │   ├── vstring.tcc
│   │       │   ├── vstring_fwd.h
│   │       │   └── vstring_util.h
│   │       ├── fstream
│   │       ├── functional
│   │       ├── iomanip
│   │       ├── ios
│   │       ├── iosfwd
│   │       ├── iostream
│   │       ├── istream
│   │       ├── iterator
│   │       ├── limits
│   │       ├── list
│   │       ├── locale
│   │       ├── map
│   │       ├── memory
│   │       ├── new
│   │       ├── numeric
│   │       ├── ostream
│   │       ├── queue
│   │       ├── set
│   │       ├── sstream
│   │       ├── stack
│   │       ├── stdexcept
│   │       ├── streambuf
│   │       ├── string
│   │       ├── tr1/
│   │       │   ├── array
│   │       │   ├── bind_iterate.h
│   │       │   ├── bind_repeat.h
│   │       │   ├── boost_shared_ptr.h
│   │       │   ├── cctype
│   │       │   ├── cfenv
│   │       │   ├── cfloat
│   │       │   ├── cinttypes
│   │       │   ├── climits
│   │       │   ├── cmath
│   │       │   ├── common.h
│   │       │   ├── complex
│   │       │   ├── cstdarg
│   │       │   ├── cstdbool
│   │       │   ├── cstdint
│   │       │   ├── cstdio
│   │       │   ├── cstdlib
│   │       │   ├── ctgmath
│   │       │   ├── ctime
│   │       │   ├── ctype.h
│   │       │   ├── cwchar
│   │       │   ├── cwctype
│   │       │   ├── fenv.h
│   │       │   ├── float.h
│   │       │   ├── functional
│   │       │   ├── functional_hash.h
│   │       │   ├── functional_iterate.h
│   │       │   ├── hashtable
│   │       │   ├── hashtable_policy.h
│   │       │   ├── inttypes.h
│   │       │   ├── limits.h
│   │       │   ├── math.h
│   │       │   ├── memory
│   │       │   ├── mu_iterate.h
│   │       │   ├── random
│   │       │   ├── random.tcc
│   │       │   ├── ref_fwd.h
│   │       │   ├── ref_wrap_iterate.h
│   │       │   ├── repeat.h
│   │       │   ├── stdarg.h
│   │       │   ├── stdbool.h
│   │       │   ├── stdint.h
│   │       │   ├── stdio.h
│   │       │   ├── stdlib.h
│   │       │   ├── tgmath.h
│   │       │   ├── tuple
│   │       │   ├── tuple_defs.h
│   │       │   ├── tuple_iterate.h
│   │       │   ├── type_traits
│   │       │   ├── type_traits_fwd.h
│   │       │   ├── unordered_map
│   │       │   ├── unordered_set
│   │       │   ├── utility
│   │       │   ├── wchar.h
│   │       │   └── wctype.h
│   │       ├── typeinfo
│   │       ├── utility
│   │       ├── valarray
│   │       └── vector
│   ├── calendar.h
│   ├── cam/
│   │   ├── ata/
│   │   │   └── ata_all.h
│   │   ├── cam.h
│   │   ├── cam_ccb.h
│   │   ├── cam_debug.h
│   │   ├── cam_periph.h
│   │   ├── cam_queue.h
│   │   ├── cam_sim.h
│   │   ├── cam_xpt.h
│   │   ├── cam_xpt_internal.h
│   │   ├── cam_xpt_periph.h
│   │   ├── cam_xpt_sim.h
│   │   └── scsi/
│   │       ├── scsi_all.h
│   │       ├── scsi_cd.h
│   │       ├── scsi_ch.h
│   │       ├── scsi_da.h
│   │       ├── scsi_dvcfg.h
│   │       ├── scsi_iu.h
│   │       ├── scsi_low.h
│   │       ├── scsi_low_pisa.h
│   │       ├── scsi_message.h
│   │       ├── scsi_pass.h
│   │       ├── scsi_pt.h
│   │       ├── scsi_sa.h
│   │       ├── scsi_ses.h
│   │       ├── scsi_sg.h
│   │       ├── scsi_targetio.h
│   │       └── smp_all.h
│   ├── camlib.h
│   ├── capstone/
│   │   ├── arm.h
│   │   ├── arm64.h
│   │   ├── capstone.h
│   │   ├── evm.h
│   │   ├── m680x.h
│   │   ├── m68k.h
│   │   ├── mips.h
│   │   ├── platform.h
│   │   ├── ppc.h
│   │   ├── sparc.h
│   │   ├── systemz.h
│   │   ├── tms320c64x.h
│   │   ├── x86.h
│   │   └── xcore.h
│   ├── clang/
│   │   └── 3.0/
│   │       ├── altivec.h
│   │       ├── avxintrin.h
│   │       ├── emmintrin.h
│   │       ├── immintrin.h
│   │       ├── mm3dnow.h
│   │       ├── mm_malloc.h
│   │       ├── mmintrin.h
│   │       ├── nmmintrin.h
│   │       ├── pmmintrin.h
│   │       ├── smmintrin.h
│   │       ├── tmmintrin.h
│   │       ├── wmmintrin.h
│   │       ├── x86intrin.h
│   │       └── xmmintrin.h
│   ├── cms_asn1.h
│   ├── com_err.h
│   ├── com_right.h
│   ├── complex.h
│   ├── cpio.h
│   ├── crypto/
│   │   ├── cast.h
│   │   ├── castsb.h
│   │   ├── cryptodev.h
│   │   ├── cryptosoft.h
│   │   ├── deflate.h
│   │   ├── rijndael.h
│   │   ├── rmd160.h
│   │   ├── skipjack.h
│   │   └── xform.h
│   ├── ctype.h
│   ├── curses.h
│   ├── db.h
│   ├── dev/
│   │   ├── acpica/
│   │   │   └── acpiio.h
│   │   ├── an/
│   │   │   ├── if_aironet_ieee.h
│   │   │   └── if_anreg.h
│   │   ├── bktr/
│   │   │   ├── ioctl_bt848.h
│   │   │   └── ioctl_meteor.h
│   │   ├── ciss/
│   │   │   ├── cissio.h
│   │   │   ├── cissreg.h
│   │   │   └── cissvar.h
│   │   ├── firewire/
│   │   │   ├── firewire.h
│   │   │   ├── firewire_phy.h
│   │   │   ├── firewirereg.h
│   │   │   ├── fwdma.h
│   │   │   ├── fwmem.h
│   │   │   ├── fwohcireg.h
│   │   │   ├── fwohcivar.h
│   │   │   ├── fwphyreg.h
│   │   │   ├── iec13213.h
│   │   │   ├── iec68113.h
│   │   │   ├── if_fwevar.h
│   │   │   ├── if_fwipvar.h
│   │   │   └── sbp.h
│   │   ├── hwpmc/
│   │   │   ├── hwpmc_amd.h
│   │   │   ├── hwpmc_core.h
│   │   │   ├── hwpmc_mips24k.h
│   │   │   ├── hwpmc_pentium.h
│   │   │   ├── hwpmc_piv.h
│   │   │   ├── hwpmc_ppro.h
│   │   │   ├── hwpmc_tsc.h
│   │   │   ├── hwpmc_uncore.h
│   │   │   ├── hwpmc_xscale.h
│   │   │   └── pmc_events.h
│   │   ├── ic/
│   │   │   ├── cd1400.h
│   │   │   ├── cd180.h
│   │   │   ├── esp.h
│   │   │   ├── hd64570.h
│   │   │   ├── i8237.h
│   │   │   ├── i8251.h
│   │   │   ├── i8253reg.h
│   │   │   ├── i8255.h
│   │   │   ├── i82586.h
│   │   │   ├── i8259.h
│   │   │   ├── nec765.h
│   │   │   ├── ns16550.h
│   │   │   ├── quicc.h
│   │   │   ├── rsa.h
│   │   │   ├── sab82532.h
│   │   │   ├── via6522reg.h
│   │   │   ├── wd33c93reg.h
│   │   │   └── z8530.h
│   │   ├── ieee488/
│   │   │   ├── ibfoo_int.h
│   │   │   ├── tnt4882.h
│   │   │   ├── ugpib.h
│   │   │   └── upd7210.h
│   │   ├── iicbus/
│   │   │   ├── iic.h
│   │   │   ├── iicbus.h
│   │   │   └── iiconf.h
│   │   ├── io/
│   │   │   └── iodev.h
│   │   ├── lmc/
│   │   │   └── if_lmc.h
│   │   ├── mfi/
│   │   │   ├── mfi_ioctl.h
│   │   │   ├── mfireg.h
│   │   │   └── mfivar.h
│   │   ├── mpt/
│   │   │   └── mpilib/
│   │   │       ├── mpi.h
│   │   │       ├── mpi_cnfg.h
│   │   │       ├── mpi_fc.h
│   │   │       ├── mpi_inb.h
│   │   │       ├── mpi_init.h
│   │   │       ├── mpi_ioc.h
│   │   │       ├── mpi_lan.h
│   │   │       ├── mpi_raid.h
│   │   │       ├── mpi_sas.h
│   │   │       ├── mpi_targ.h
│   │   │       ├── mpi_tool.h
│   │   │       └── mpi_type.h
│   │   ├── ofw/
│   │   │   ├── ofw_bus.h
│   │   │   ├── ofw_bus_subr.h
│   │   │   ├── ofw_pci.h
│   │   │   ├── ofwvar.h
│   │   │   ├── openfirm.h
│   │   │   ├── openfirmio.h
│   │   │   └── openpromio.h
│   │   ├── pbio/
│   │   │   └── pbioio.h
│   │   ├── ppbus/
│   │   │   ├── lpt.h
│   │   │   ├── lptio.h
│   │   │   ├── ppb_1284.h
│   │   │   ├── ppb_msq.h
│   │   │   ├── ppbconf.h
│   │   │   ├── ppbio.h
│   │   │   ├── ppi.h
│   │   │   └── vpoio.h
│   │   ├── smbus/
│   │   │   ├── smb.h
│   │   │   ├── smbconf.h
│   │   │   └── smbus.h
│   │   ├── speaker/
│   │   │   └── speaker.h
│   │   ├── usb/
│   │   │   ├── ufm_ioctl.h
│   │   │   ├── usb.h
│   │   │   ├── usb_bus.h
│   │   │   ├── usb_busdma.h
│   │   │   ├── usb_cdc.h
│   │   │   ├── usb_compat_linux.h
│   │   │   ├── usb_controller.h
│   │   │   ├── usb_core.h
│   │   │   ├── usb_debug.h
│   │   │   ├── usb_dev.h
│   │   │   ├── usb_device.h
│   │   │   ├── usb_dynamic.h
│   │   │   ├── usb_endian.h
│   │   │   ├── usb_freebsd.h
│   │   │   ├── usb_generic.h
│   │   │   ├── usb_hub.h
│   │   │   ├── usb_ioctl.h
│   │   │   ├── usb_mbuf.h
│   │   │   ├── usb_msctest.h
│   │   │   ├── usb_pci.h
│   │   │   ├── usb_pf.h
│   │   │   ├── usb_process.h
│   │   │   ├── usb_request.h
│   │   │   ├── usb_transfer.h
│   │   │   ├── usb_util.h
│   │   │   ├── usbdi.h
│   │   │   ├── usbdi_util.h
│   │   │   └── usbhid.h
│   │   ├── utopia/
│   │   │   ├── idtphy.h
│   │   │   ├── suni.h
│   │   │   ├── utopia.h
│   │   │   └── utopia_priv.h
│   │   ├── vkbd/
│   │   │   └── vkbd_var.h
│   │   └── wi/
│   │       ├── if_wavelan_ieee.h
│   │       ├── if_wireg.h
│   │       └── if_wivar.h
│   ├── devinfo.h
│   ├── devstat.h
│   ├── dialog.h
│   ├── digest_asn1.h
│   ├── dirent.h
│   ├── dlfcn.h
│   ├── dlg_colors.h
│   ├── dlg_config.h
│   ├── dlg_keys.h
│   ├── dwarf.h
│   ├── edit/
│   │   └── readline/
│   │       ├── history.h
│   │       └── readline.h
│   ├── elf-hints.h
│   ├── elf.h
│   ├── err.h
│   ├── eti.h
│   ├── fenv.h
│   ├── fetch.h
│   ├── fmtmsg.h
│   ├── fnmatch.h
│   ├── form.h
│   ├── fs/
│   │   ├── devfs/
│   │   │   ├── devfs.h
│   │   │   └── devfs_int.h
│   │   ├── fdescfs/
│   │   │   └── fdesc.h
│   │   ├── fifofs/
│   │   │   └── fifo.h
│   │   ├── msdosfs/
│   │   │   ├── bootsect.h
│   │   │   ├── bpb.h
│   │   │   ├── denode.h
│   │   │   ├── direntry.h
│   │   │   ├── fat.h
│   │   │   └── msdosfsmount.h
│   │   ├── nfs/
│   │   │   ├── nfs.h
│   │   │   ├── nfs_var.h
│   │   │   ├── nfscl.h
│   │   │   ├── nfsclstate.h
│   │   │   ├── nfsdport.h
│   │   │   ├── nfskpiport.h
│   │   │   ├── nfsm_subs.h
│   │   │   ├── nfsport.h
│   │   │   ├── nfsproto.h
│   │   │   ├── nfsrvcache.h
│   │   │   ├── nfsrvstate.h
│   │   │   ├── nfsv4_errstr.h
│   │   │   ├── rpcv2.h
│   │   │   └── xdr_subs.h
│   │   ├── ntfs/
│   │   │   ├── ntfs.h
│   │   │   ├── ntfs_compr.h
│   │   │   ├── ntfs_ihash.h
│   │   │   ├── ntfs_inode.h
│   │   │   ├── ntfs_subr.h
│   │   │   ├── ntfs_vfsops.h
│   │   │   └── ntfsmount.h
│   │   ├── nullfs/
│   │   │   └── null.h
│   │   ├── nwfs/
│   │   │   ├── nwfs.h
│   │   │   ├── nwfs_mount.h
│   │   │   ├── nwfs_node.h
│   │   │   └── nwfs_subr.h
│   │   ├── portalfs/
│   │   │   └── portal.h
│   │   ├── procfs/
│   │   │   └── procfs.h
│   │   ├── smbfs/
│   │   │   ├── smbfs.h
│   │   │   ├── smbfs_node.h
│   │   │   └── smbfs_subr.h
│   │   ├── udf/
│   │   │   ├── ecma167-udf.h
│   │   │   ├── osta.h
│   │   │   ├── udf.h
│   │   │   └── udf_mount.h
│   │   └── unionfs/
│   │       └── union.h
│   ├── fstab.h
│   ├── ftpio.h
│   ├── fts.h
│   ├── ftw.h
│   ├── gcc/
│   │   └── 4.2/
│   │       ├── emmintrin.h
│   │       ├── mm_malloc.h
│   │       ├── mmintrin.h
│   │       ├── pmmintrin.h
│   │       ├── tmmintrin.h
│   │       └── xmmintrin.h
│   ├── gelf.h
│   ├── geom/
│   │   ├── cache/
│   │   │   └── g_cache.h
│   │   ├── concat/
│   │   │   └── g_concat.h
│   │   ├── eli/
│   │   │   ├── g_eli.h
│   │   │   └── pkcs5v2.h
│   │   ├── gate/
│   │   │   └── g_gate.h
│   │   ├── geom.h
│   │   ├── geom_ctl.h
│   │   ├── geom_disk.h
│   │   ├── geom_int.h
│   │   ├── geom_slice.h
│   │   ├── geom_vfs.h
│   │   ├── journal/
│   │   │   └── g_journal.h
│   │   ├── label/
│   │   │   ├── g_label.h
│   │   │   └── g_label_msdosfs.h
│   │   ├── mirror/
│   │   │   └── g_mirror.h
│   │   ├── mountver/
│   │   │   └── g_mountver.h
│   │   ├── multipath/
│   │   │   └── g_multipath.h
│   │   ├── nop/
│   │   │   └── g_nop.h
│   │   ├── raid/
│   │   │   └── g_raid.h
│   │   ├── raid3/
│   │   │   └── g_raid3.h
│   │   ├── shsec/
│   │   │   └── g_shsec.h
│   │   ├── stripe/
│   │   │   └── g_stripe.h
│   │   └── virstor/
│   │       ├── binstream.h
│   │       ├── g_virstor.h
│   │       └── g_virstor_md.h
│   ├── getopt.h
│   ├── glob.h
│   ├── gnu/
│   │   ├── posix/
│   │   │   └── regex.h
│   │   └── regex.h
│   ├── gnuregex.h
│   ├── gpib/
│   │   └── gpib.h
│   ├── grp.h
│   ├── gssapi/
│   │   ├── gssapi.h
│   │   └── gssapi_krb5.h
│   ├── gssapi.h
│   ├── hdb-private.h
│   ├── hdb-protos.h
│   ├── hdb.h
│   ├── hdb_asn1.h
│   ├── hdb_err.h
│   ├── heim_asn1.h
│   ├── heim_err.h
│   ├── heim_threads.h
│   ├── heimntlm-protos.h
│   ├── heimntlm.h
│   ├── histedit.h
│   ├── hx509-private.h
│   ├── hx509-protos.h
│   ├── hx509.h
│   ├── hx509_err.h
│   ├── ieeefp.h
│   ├── ifaddrs.h
│   ├── inttypes.h
│   ├── iso646.h
│   ├── isofs/
│   │   └── cd9660/
│   │       ├── cd9660_mount.h
│   │       ├── cd9660_node.h
│   │       ├── cd9660_rrip.h
│   │       ├── iso.h
│   │       └── iso_rrip.h
│   ├── jail.h
│   ├── k524_err.h
│   ├── kadm5/
│   │   ├── admin.h
│   │   ├── kadm5-private.h
│   │   ├── kadm5-protos.h
│   │   ├── kadm5_err.h
│   │   └── private.h
│   ├── kafs.h
│   ├── kenv.h
│   ├── krb5-protos.h
│   ├── krb5-types.h
│   ├── krb5-v4compat.h
│   ├── krb5.h
│   ├── krb5_asn1.h
│   ├── krb5_err.h
│   ├── krb_err.h
│   ├── kvm.h
│   ├── kx509_asn1.h
│   ├── langinfo.h
│   ├── libdisk.h
│   ├── libdwarf.h
│   ├── libelf.h
│   ├── libgen.h
│   ├── libgeom.h
│   ├── libmilter/
│   │   ├── mfapi.h
│   │   └── mfdef.h
│   ├── libproc.h
│   ├── libprocstat.h
│   ├── libufs.h
│   ├── libusb.h
│   ├── libusb20.h
│   ├── libusb20_desc.h
│   ├── libutil.h
│   ├── limits.h
│   ├── link.h
│   ├── locale.h
│   ├── login_cap.h
│   ├── lwres/
│   │   ├── context.h
│   │   ├── int.h
│   │   ├── ipv6.h
│   │   ├── lang.h
│   │   ├── list.h
│   │   ├── lwbuffer.h
│   │   ├── lwpacket.h
│   │   ├── lwres.h
│   │   ├── net.h
│   │   ├── netdb.h
│   │   ├── platform.h
│   │   ├── result.h
│   │   └── version.h
│   ├── lzma/
│   │   ├── base.h
│   │   ├── bcj.h
│   │   ├── block.h
│   │   ├── check.h
│   │   ├── container.h
│   │   ├── delta.h
│   │   ├── filter.h
│   │   ├── hardware.h
│   │   ├── index.h
│   │   ├── index_hash.h
│   │   ├── lzma.h
│   │   ├── stream_flags.h
│   │   ├── version.h
│   │   └── vli.h
│   ├── lzma.h
│   ├── machine/
│   │   ├── _align.h
│   │   ├── _bus.h
│   │   ├── _inttypes.h
│   │   ├── _limits.h
│   │   ├── _stdint.h
│   │   ├── _types.h
│   │   ├── acpica_machdep.h
│   │   ├── apicvar.h
│   │   ├── apm_bios.h
│   │   ├── asm.h
│   │   ├── asmacros.h
│   │   ├── atomic.h
│   │   ├── bus.h
│   │   ├── bus_dma.h
│   │   ├── clock.h
│   │   ├── cpu.h
│   │   ├── cpufunc.h
│   │   ├── cputypes.h
│   │   ├── db_machdep.h
│   │   ├── elf.h
│   │   ├── endian.h
│   │   ├── exec.h
│   │   ├── float.h
│   │   ├── floatingpoint.h
│   │   ├── fpu.h
│   │   ├── frame.h
│   │   ├── gdb_machdep.h
│   │   ├── ieeefp.h
│   │   ├── in_cksum.h
│   │   ├── intr_machdep.h
│   │   ├── iodev.h
│   │   ├── kdb.h
│   │   ├── legacyvar.h
│   │   ├── limits.h
│   │   ├── md_var.h
│   │   ├── memdev.h
│   │   ├── metadata.h
│   │   ├── minidump.h
│   │   ├── mp_watchdog.h
│   │   ├── nexusvar.h
│   │   ├── param.h
│   │   ├── pc/
│   │   │   ├── bios.h
│   │   │   └── display.h
│   │   ├── pcb.h
│   │   ├── pci_cfgreg.h
│   │   ├── pcpu.h
│   │   ├── pmap.h
│   │   ├── pmc_mdep.h
│   │   ├── ppireg.h
│   │   ├── proc.h
│   │   ├── profile.h
│   │   ├── psl.h
│   │   ├── ptrace.h
│   │   ├── reg.h
│   │   ├── reloc.h
│   │   ├── resource.h
│   │   ├── runq.h
│   │   ├── segments.h
│   │   ├── setjmp.h
│   │   ├── sf_buf.h
│   │   ├── sigframe.h
│   │   ├── signal.h
│   │   ├── smp.h
│   │   ├── specialreg.h
│   │   ├── stack.h
│   │   ├── stdarg.h
│   │   ├── sysarch.h
│   │   ├── timerreg.h
│   │   ├── trap.h
│   │   ├── tss.h
│   │   ├── ucontext.h
│   │   ├── varargs.h
│   │   ├── vm.h
│   │   └── vmparam.h
│   ├── magic.h
│   ├── malloc.h
│   ├── malloc_np.h
│   ├── math.h
│   ├── md2.h
│   ├── md4.h
│   ├── md5.h
│   ├── memory.h
│   ├── memstat.h
│   ├── menu.h
│   ├── monetary.h
│   ├── mp.h
│   ├── mpool.h
│   ├── mqueue.h
│   ├── ncurses_dll.h
│   ├── ndbm.h
│   ├── net/
│   │   ├── bpf.h
│   │   ├── bpf_buffer.h
│   │   ├── bpf_jitter.h
│   │   ├── bpf_zerocopy.h
│   │   ├── bpfdesc.h
│   │   ├── bridgestp.h
│   │   ├── ethernet.h
│   │   ├── fddi.h
│   │   ├── firewire.h
│   │   ├── flowtable.h
│   │   ├── ieee8023ad_lacp.h
│   │   ├── if.h
│   │   ├── if_arc.h
│   │   ├── if_arp.h
│   │   ├── if_atm.h
│   │   ├── if_bridgevar.h
│   │   ├── if_clone.h
│   │   ├── if_dl.h
│   │   ├── if_enc.h
│   │   ├── if_gif.h
│   │   ├── if_gre.h
│   │   ├── if_lagg.h
│   │   ├── if_llatbl.h
│   │   ├── if_llc.h
│   │   ├── if_media.h
│   │   ├── if_mib.h
│   │   ├── if_pflog.h
│   │   ├── if_pflow.h
│   │   ├── if_pfsync.h
│   │   ├── if_sppp.h
│   │   ├── if_stf.h
│   │   ├── if_tap.h
│   │   ├── if_tapvar.h
│   │   ├── if_tun.h
│   │   ├── if_types.h
│   │   ├── if_var.h
│   │   ├── if_vlan_var.h
│   │   ├── iso88025.h
│   │   ├── netisr.h
│   │   ├── netisr_internal.h
│   │   ├── pf_mtag.h
│   │   ├── pfil.h
│   │   ├── pfkeyv2.h
│   │   ├── pfvar.h
│   │   ├── ppp_defs.h
│   │   ├── radix.h
│   │   ├── radix_mpath.h
│   │   ├── raw_cb.h
│   │   ├── route.h
│   │   ├── slcompress.h
│   │   ├── vnet.h
│   │   ├── zlib.h
│   │   └── zutil.h
│   ├── net80211/
│   │   ├── _ieee80211.h
│   │   ├── ieee80211.h
│   │   ├── ieee80211_action.h
│   │   ├── ieee80211_adhoc.h
│   │   ├── ieee80211_ageq.h
│   │   ├── ieee80211_alq.h
│   │   ├── ieee80211_amrr.h
│   │   ├── ieee80211_crypto.h
│   │   ├── ieee80211_dfs.h
│   │   ├── ieee80211_freebsd.h
│   │   ├── ieee80211_hostap.h
│   │   ├── ieee80211_ht.h
│   │   ├── ieee80211_input.h
│   │   ├── ieee80211_ioctl.h
│   │   ├── ieee80211_mesh.h
│   │   ├── ieee80211_monitor.h
│   │   ├── ieee80211_node.h
│   │   ├── ieee80211_phy.h
│   │   ├── ieee80211_power.h
│   │   ├── ieee80211_proto.h
│   │   ├── ieee80211_radiotap.h
│   │   ├── ieee80211_ratectl.h
│   │   ├── ieee80211_regdomain.h
│   │   ├── ieee80211_rssadapt.h
│   │   ├── ieee80211_scan.h
│   │   ├── ieee80211_sta.h
│   │   ├── ieee80211_superg.h
│   │   ├── ieee80211_tdma.h
│   │   ├── ieee80211_var.h
│   │   └── ieee80211_wds.h
│   ├── netatalk/
│   │   ├── aarp.h
│   │   ├── at.h
│   │   ├── at_extern.h
│   │   ├── at_var.h
│   │   ├── ddp.h
│   │   ├── ddp_pcb.h
│   │   ├── ddp_var.h
│   │   ├── endian.h
│   │   └── phase2.h
│   ├── netconfig.h
│   ├── netdb.h
│   ├── netgraph/
│   │   ├── atm/
│   │   │   ├── ng_atm.h
│   │   │   ├── ng_ccatm.h
│   │   │   ├── ng_sscfu.h
│   │   │   ├── ng_sscop.h
│   │   │   ├── ng_uni.h
│   │   │   └── ngatmbase.h
│   │   ├── bluetooth/
│   │   │   └── include/
│   │   │       ├── ng_bluetooth.h
│   │   │       ├── ng_bt3c.h
│   │   │       ├── ng_btsocket.h
│   │   │       ├── ng_btsocket_hci_raw.h
│   │   │       ├── ng_btsocket_l2cap.h
│   │   │       ├── ng_btsocket_rfcomm.h
│   │   │       ├── ng_btsocket_sco.h
│   │   │       ├── ng_h4.h
│   │   │       ├── ng_hci.h
│   │   │       ├── ng_l2cap.h
│   │   │       └── ng_ubt.h
│   │   ├── netflow/
│   │   │   ├── netflow.h
│   │   │   ├── netflow_v9.h
│   │   │   └── ng_netflow.h
│   │   ├── netgraph.h
│   │   ├── ng_UI.h
│   │   ├── ng_async.h
│   │   ├── ng_atmllc.h
│   │   ├── ng_bpf.h
│   │   ├── ng_bridge.h
│   │   ├── ng_car.h
│   │   ├── ng_cisco.h
│   │   ├── ng_deflate.h
│   │   ├── ng_device.h
│   │   ├── ng_echo.h
│   │   ├── ng_eiface.h
│   │   ├── ng_etf.h
│   │   ├── ng_ether.h
│   │   ├── ng_ether_echo.h
│   │   ├── ng_fec.h
│   │   ├── ng_frame_relay.h
│   │   ├── ng_gif.h
│   │   ├── ng_gif_demux.h
│   │   ├── ng_hole.h
│   │   ├── ng_hub.h
│   │   ├── ng_iface.h
│   │   ├── ng_ip_input.h
│   │   ├── ng_ipfw.h
│   │   ├── ng_ksocket.h
│   │   ├── ng_l2tp.h
│   │   ├── ng_lmi.h
│   │   ├── ng_message.h
│   │   ├── ng_mppc.h
│   │   ├── ng_nat.h
│   │   ├── ng_one2many.h
│   │   ├── ng_parse.h
│   │   ├── ng_patch.h
│   │   ├── ng_pipe.h
│   │   ├── ng_ppp.h
│   │   ├── ng_pppoe.h
│   │   ├── ng_pptpgre.h
│   │   ├── ng_pred1.h
│   │   ├── ng_rfc1490.h
│   │   ├── ng_sample.h
│   │   ├── ng_socket.h
│   │   ├── ng_socketvar.h
│   │   ├── ng_source.h
│   │   ├── ng_split.h
│   │   ├── ng_sppp.h
│   │   ├── ng_tag.h
│   │   ├── ng_tcpmss.h
│   │   ├── ng_tee.h
│   │   ├── ng_tty.h
│   │   ├── ng_vjc.h
│   │   └── ng_vlan.h
│   ├── netgraph.h
│   ├── netinet/
│   │   ├── cc.h
│   │   ├── icmp6.h
│   │   ├── icmp_var.h
│   │   ├── if_atm.h
│   │   ├── if_ether.h
│   │   ├── igmp.h
│   │   ├── igmp_var.h
│   │   ├── in.h
│   │   ├── in_gif.h
│   │   ├── in_pcb.h
│   │   ├── in_systm.h
│   │   ├── in_var.h
│   │   ├── ip.h
│   │   ├── ip6.h
│   │   ├── ip_auth.h
│   │   ├── ip_carp.h
│   │   ├── ip_compat.h
│   │   ├── ip_divert.h
│   │   ├── ip_dummynet.h
│   │   ├── ip_ecn.h
│   │   ├── ip_encap.h
│   │   ├── ip_fil.h
│   │   ├── ip_frag.h
│   │   ├── ip_fw.h
│   │   ├── ip_gre.h
│   │   ├── ip_htable.h
│   │   ├── ip_icmp.h
│   │   ├── ip_ipsec.h
│   │   ├── ip_lookup.h
│   │   ├── ip_mroute.h
│   │   ├── ip_nat.h
│   │   ├── ip_options.h
│   │   ├── ip_pool.h
│   │   ├── ip_proxy.h
│   │   ├── ip_rules.h
│   │   ├── ip_scan.h
│   │   ├── ip_state.h
│   │   ├── ip_sync.h
│   │   ├── ip_var.h
│   │   ├── ipl.h
│   │   ├── pim.h
│   │   ├── pim_var.h
│   │   ├── sctp.h
│   │   ├── sctp_asconf.h
│   │   ├── sctp_auth.h
│   │   ├── sctp_bsd_addr.h
│   │   ├── sctp_constants.h
│   │   ├── sctp_crc32.h
│   │   ├── sctp_dtrace_declare.h
│   │   ├── sctp_dtrace_define.h
│   │   ├── sctp_header.h
│   │   ├── sctp_indata.h
│   │   ├── sctp_input.h
│   │   ├── sctp_lock_bsd.h
│   │   ├── sctp_os.h
│   │   ├── sctp_os_bsd.h
│   │   ├── sctp_output.h
│   │   ├── sctp_pcb.h
│   │   ├── sctp_peeloff.h
│   │   ├── sctp_structs.h
│   │   ├── sctp_sysctl.h
│   │   ├── sctp_timer.h
│   │   ├── sctp_uio.h
│   │   ├── sctp_var.h
│   │   ├── sctputil.h
│   │   ├── tcp.h
│   │   ├── tcp_debug.h
│   │   ├── tcp_fsm.h
│   │   ├── tcp_hostcache.h
│   │   ├── tcp_lro.h
│   │   ├── tcp_offload.h
│   │   ├── tcp_seq.h
│   │   ├── tcp_syncache.h
│   │   ├── tcp_timer.h
│   │   ├── tcp_var.h
│   │   ├── tcpip.h
│   │   ├── toedev.h
│   │   ├── udp.h
│   │   └── udp_var.h
│   ├── netinet6/
│   │   ├── icmp6.h
│   │   ├── in6.h
│   │   ├── in6_gif.h
│   │   ├── in6_ifattach.h
│   │   ├── in6_pcb.h
│   │   ├── in6_var.h
│   │   ├── ip6.h
│   │   ├── ip6_ecn.h
│   │   ├── ip6_ipsec.h
│   │   ├── ip6_mroute.h
│   │   ├── ip6_var.h
│   │   ├── ip6protosw.h
│   │   ├── mld6.h
│   │   ├── mld6_var.h
│   │   ├── nd6.h
│   │   ├── pim6.h
│   │   ├── pim6_var.h
│   │   ├── raw_ip6.h
│   │   ├── scope6_var.h
│   │   ├── sctp6_var.h
│   │   ├── send.h
│   │   ├── tcp6_var.h
│   │   └── udp6_var.h
│   ├── netipsec/
│   │   ├── ah.h
│   │   ├── ah_var.h
│   │   ├── esp.h
│   │   ├── esp_var.h
│   │   ├── ipcomp.h
│   │   ├── ipcomp_var.h
│   │   ├── ipip_var.h
│   │   ├── ipsec.h
│   │   ├── ipsec6.h
│   │   ├── key.h
│   │   ├── key_debug.h
│   │   ├── key_var.h
│   │   ├── keydb.h
│   │   ├── keysock.h
│   │   └── xform.h
│   ├── netipx/
│   │   ├── ipx.h
│   │   ├── ipx_if.h
│   │   ├── ipx_pcb.h
│   │   ├── ipx_var.h
│   │   ├── spx.h
│   │   ├── spx_debug.h
│   │   ├── spx_timer.h
│   │   └── spx_var.h
│   ├── netnatm/
│   │   ├── addr.h
│   │   ├── api/
│   │   │   ├── atmapi.h
│   │   │   ├── ccatm.h
│   │   │   └── unisap.h
│   │   ├── msg/
│   │   │   ├── uni_config.h
│   │   │   ├── uni_hdr.h
│   │   │   ├── uni_ie.h
│   │   │   ├── uni_msg.h
│   │   │   ├── unimsglib.h
│   │   │   ├── uniprint.h
│   │   │   └── unistruct.h
│   │   ├── natm.h
│   │   ├── saal/
│   │   │   ├── sscfu.h
│   │   │   ├── sscfudef.h
│   │   │   ├── sscop.h
│   │   │   └── sscopdef.h
│   │   ├── sig/
│   │   │   ├── uni.h
│   │   │   ├── unidef.h
│   │   │   └── unisig.h
│   │   └── unimsg.h
│   ├── netncp/
│   │   ├── ncp.h
│   │   ├── ncp_cfg.h
│   │   ├── ncp_conn.h
│   │   ├── ncp_file.h
│   │   ├── ncp_lib.h
│   │   ├── ncp_ncp.h
│   │   ├── ncp_nls.h
│   │   ├── ncp_rcfile.h
│   │   ├── ncp_rq.h
│   │   ├── ncp_sock.h
│   │   ├── ncp_subr.h
│   │   ├── ncp_user.h
│   │   ├── ncpio.h
│   │   └── nwerror.h
│   ├── netsmb/
│   │   ├── netbios.h
│   │   ├── smb.h
│   │   ├── smb_conn.h
│   │   ├── smb_dev.h
│   │   ├── smb_rq.h
│   │   ├── smb_subr.h
│   │   ├── smb_tran.h
│   │   └── smb_trantcp.h
│   ├── nfs/
│   │   ├── krpc.h
│   │   ├── nfs_common.h
│   │   ├── nfs_kdtrace.h
│   │   ├── nfs_lock.h
│   │   ├── nfs_mountcommon.h
│   │   ├── nfsdiskless.h
│   │   ├── nfsproto.h
│   │   ├── nfssvc.h
│   │   └── xdr_subs.h
│   ├── nfsclient/
│   │   ├── nfs.h
│   │   ├── nfsargs.h
│   │   ├── nfsm_subs.h
│   │   ├── nfsmount.h
│   │   ├── nfsnode.h
│   │   ├── nfsstats.h
│   │   └── nlminfo.h
│   ├── nfsserver/
│   │   ├── nfs.h
│   │   ├── nfs_fha.h
│   │   ├── nfsm_subs.h
│   │   ├── nfsrvcache.h
│   │   └── nfsrvstats.h
│   ├── nl_types.h
│   ├── nlist.h
│   ├── nss.h
│   ├── nsswitch.h
│   ├── ocsp_asn1.h
│   ├── omp.h
│   ├── openssl/
│   │   ├── aes.h
│   │   ├── aes_locl.h
│   │   ├── asn1.h
│   │   ├── asn1_mac.h
│   │   ├── asn1t.h
│   │   ├── bio.h
│   │   ├── bio_lcl.h
│   │   ├── blowfish.h
│   │   ├── bn.h
│   │   ├── buffer.h
│   │   ├── camellia.h
│   │   ├── cast.h
│   │   ├── comp.h
│   │   ├── conf.h
│   │   ├── conf_api.h
│   │   ├── crypto.h
│   │   ├── des.h
│   │   ├── des_old.h
│   │   ├── dh.h
│   │   ├── dsa.h
│   │   ├── dso.h
│   │   ├── dtls1.h
│   │   ├── e_os.h
│   │   ├── e_os2.h
│   │   ├── ebcdic.h
│   │   ├── ec.h
│   │   ├── ecdh.h
│   │   ├── ecdsa.h
│   │   ├── engine.h
│   │   ├── err.h
│   │   ├── evp.h
│   │   ├── fips.h
│   │   ├── fips_rand.h
│   │   ├── hmac.h
│   │   ├── krb5_asn.h
│   │   ├── kssl.h
│   │   ├── lhash.h
│   │   ├── md2.h
│   │   ├── md4.h
│   │   ├── md5.h
│   │   ├── mdc2.h
│   │   ├── obj_mac.h
│   │   ├── objects.h
│   │   ├── ocsp.h
│   │   ├── opensslconf.h
│   │   ├── opensslv.h
│   │   ├── ossl_typ.h
│   │   ├── pem.h
│   │   ├── pem2.h
│   │   ├── pkcs12.h
│   │   ├── pkcs7.h
│   │   ├── pq_compat.h
│   │   ├── pqueue.h
│   │   ├── rand.h
│   │   ├── rc2.h
│   │   ├── rc4.h
│   │   ├── rc5.h
│   │   ├── ripemd.h
│   │   ├── rsa.h
│   │   ├── safestack.h
│   │   ├── sha.h
│   │   ├── ssl.h
│   │   ├── ssl2.h
│   │   ├── ssl23.h
│   │   ├── ssl3.h
│   │   ├── stack.h
│   │   ├── store.h
│   │   ├── symhacks.h
│   │   ├── tls1.h
│   │   ├── tmdiff.h
│   │   ├── txt_db.h
│   │   ├── ui.h
│   │   ├── ui_compat.h
│   │   ├── ui_locl.h
│   │   ├── x509.h
│   │   ├── x509_vfy.h
│   │   └── x509v3.h
│   ├── opie.h
│   ├── osreldate.h
│   ├── panel.h
│   ├── paths.h
│   ├── pcap/
│   │   ├── bpf.h
│   │   ├── namedb.h
│   │   └── pcap.h
│   ├── pcap-bpf.h
│   ├── pcap-int.h
│   ├── pcap-namedb.h
│   ├── pcap.h
│   ├── pkcs10_asn1.h
│   ├── pkcs12_asn1.h
│   ├── pkcs8_asn1.h
│   ├── pkcs9_asn1.h
│   ├── pkinit_asn1.h
│   ├── pmc.h
│   ├── pmclog.h
│   ├── printf.h
│   ├── proc_service.h
│   ├── protocols/
│   │   ├── dumprestore.h
│   │   ├── routed.h
│   │   ├── rwhod.h
│   │   ├── talkd.h
│   │   └── timed.h
│   ├── ps4-offsets/
│   │   ├── 672.h
│   │   ├── 702.h
│   │   ├── 755.h
│   │   ├── 900.h
│   │   └── kernel.h
│   ├── pthread.h
│   ├── pthread_np.h
│   ├── pwd.h
│   ├── radlib.h
│   ├── radlib_vs.h
│   ├── ranlib.h
│   ├── readline/
│   │   ├── chardefs.h
│   │   ├── history.h
│   │   ├── keymaps.h
│   │   ├── readline.h
│   │   ├── rlconf.h
│   │   ├── rlstdc.h
│   │   ├── rltypedefs.h
│   │   └── tilde.h
│   ├── readpassphrase.h
│   ├── regex.h
│   ├── res_update.h
│   ├── resolv.h
│   ├── rfc2459_asn1.h
│   ├── ripemd.h
│   ├── roken-common.h
│   ├── roken.h
│   ├── rpc/
│   │   ├── auth.h
│   │   ├── auth_des.h
│   │   ├── auth_kerb.h
│   │   ├── auth_unix.h
│   │   ├── clnt.h
│   │   ├── clnt_soc.h
│   │   ├── clnt_stat.h
│   │   ├── des.h
│   │   ├── des_crypt.h
│   │   ├── key_prot.h
│   │   ├── nettype.h
│   │   ├── pmap_clnt.h
│   │   ├── pmap_prot.h
│   │   ├── pmap_rmt.h
│   │   ├── raw.h
│   │   ├── rpc.h
│   │   ├── rpc_com.h
│   │   ├── rpc_msg.h
│   │   ├── rpcb_clnt.h
│   │   ├── rpcb_prot.h
│   │   ├── rpcb_prot.x
│   │   ├── rpcent.h
│   │   ├── rpcsec_gss.h
│   │   ├── svc.h
│   │   ├── svc_auth.h
│   │   ├── svc_dg.h
│   │   ├── svc_soc.h
│   │   ├── types.h
│   │   └── xdr.h
│   ├── rpcsvc/
│   │   ├── bootparam_prot.h
│   │   ├── bootparam_prot.x
│   │   ├── crypt.h
│   │   ├── crypt.x
│   │   ├── key_prot.h
│   │   ├── key_prot.x
│   │   ├── klm_prot.h
│   │   ├── klm_prot.x
│   │   ├── mount.h
│   │   ├── mount.x
│   │   ├── nfs_prot.h
│   │   ├── nfs_prot.x
│   │   ├── nis.h
│   │   ├── nis.x
│   │   ├── nis_cache.h
│   │   ├── nis_cache.x
│   │   ├── nis_callback.h
│   │   ├── nis_callback.x
│   │   ├── nis_db.h
│   │   ├── nis_object.x
│   │   ├── nis_tags.h
│   │   ├── nislib.h
│   │   ├── nlm_prot.h
│   │   ├── nlm_prot.x
│   │   ├── rex.h
│   │   ├── rex.x
│   │   ├── rnusers.h
│   │   ├── rnusers.x
│   │   ├── rquota.h
│   │   ├── rquota.x
│   │   ├── rstat.h
│   │   ├── rstat.x
│   │   ├── rwall.h
│   │   ├── rwall.x
│   │   ├── sm_inter.h
│   │   ├── sm_inter.x
│   │   ├── spray.h
│   │   ├── spray.x
│   │   ├── yp.h
│   │   ├── yp.x
│   │   ├── yp_prot.h
│   │   ├── ypclnt.h
│   │   ├── yppasswd.h
│   │   ├── yppasswd.x
│   │   ├── ypupdate_prot.h
│   │   ├── ypupdate_prot.x
│   │   ├── ypxfrd.h
│   │   └── ypxfrd.x
│   ├── rpoll.h
│   ├── rtld_db.h
│   ├── runetype.h
│   ├── sdp.h
│   ├── search.h
│   ├── security/
│   │   ├── audit/
│   │   │   ├── audit.h
│   │   │   ├── audit_ioctl.h
│   │   │   └── audit_private.h
│   │   ├── mac_biba/
│   │   │   └── mac_biba.h
│   │   ├── mac_bsdextended/
│   │   │   ├── mac_bsdextended.h
│   │   │   └── ugidfw_internal.h
│   │   ├── mac_lomac/
│   │   │   └── mac_lomac.h
│   │   ├── mac_mls/
│   │   │   └── mac_mls.h
│   │   ├── mac_partition/
│   │   │   └── mac_partition.h
│   │   ├── openpam.h
│   │   ├── openpam_attr.h
│   │   ├── openpam_version.h
│   │   ├── pam_appl.h
│   │   ├── pam_constants.h
│   │   ├── pam_mod_misc.h
│   │   ├── pam_modules.h
│   │   └── pam_types.h
│   ├── semaphore.h
│   ├── setjmp.h
│   ├── sha.h
│   ├── sha256.h
│   ├── sha512.h
│   ├── signal.h
│   ├── spawn.h
│   ├── ssp/
│   │   ├── ssp.h
│   │   ├── stdio.h
│   │   ├── string.h
│   │   └── unistd.h
│   ├── stab.h
│   ├── stand.h
│   ├── stdbool.h
│   ├── stddef.h
│   ├── stdio.h
│   ├── stdlib.h
│   ├── string.h
│   ├── stringlist.h
│   ├── strings.h
│   ├── sys/
│   │   ├── _bus_dma.h
│   │   ├── _callout.h
│   │   ├── _cpuset.h
│   │   ├── _iovec.h
│   │   ├── _lock.h
│   │   ├── _lockmgr.h
│   │   ├── _mutex.h
│   │   ├── _null.h
│   │   ├── _pthreadtypes.h
│   │   ├── _rmlock.h
│   │   ├── _rwlock.h
│   │   ├── _semaphore.h
│   │   ├── _sigset.h
│   │   ├── _sockaddr_storage.h
│   │   ├── _stack.h
│   │   ├── _stdint.h
│   │   ├── _sx.h
│   │   ├── _task.h
│   │   ├── _termios.h
│   │   ├── _timespec.h
│   │   ├── _timeval.h
│   │   ├── _types.h
│   │   ├── _umtx.h
│   │   ├── aac_ioctl.h
│   │   ├── acct.h
│   │   ├── acl.h
│   │   ├── agpio.h
│   │   ├── aio.h
│   │   ├── alq.h
│   │   ├── apm.h
│   │   ├── assym.h
│   │   ├── ata.h
│   │   ├── bio.h
│   │   ├── bitstring.h
│   │   ├── blist.h
│   │   ├── buf.h
│   │   ├── buf_ring.h
│   │   ├── bufobj.h
│   │   ├── bus.h
│   │   ├── bus_dma.h
│   │   ├── callout.h
│   │   ├── capability.h
│   │   ├── cdefs.h
│   │   ├── cdio.h
│   │   ├── cdrio.h
│   │   ├── cfictl.h
│   │   ├── chio.h
│   │   ├── clock.h
│   │   ├── condvar.h
│   │   ├── conf.h
│   │   ├── cons.h
│   │   ├── consio.h
│   │   ├── copyright.h
│   │   ├── cpu.h
│   │   ├── cpuctl.h
│   │   ├── cpuset.h
│   │   ├── ctype.h
│   │   ├── dataacq.h
│   │   ├── device_port.h
│   │   ├── devicestat.h
│   │   ├── digiio.h
│   │   ├── dir.h
│   │   ├── dirent.h
│   │   ├── disk.h
│   │   ├── disklabel.h
│   │   ├── diskmbr.h
│   │   ├── diskpc98.h
│   │   ├── dkstat.h
│   │   ├── domain.h
│   │   ├── dtrace_bsd.h
│   │   ├── dvdio.h
│   │   ├── elf.h
│   │   ├── elf32.h
│   │   ├── elf64.h
│   │   ├── elf_common.h
│   │   ├── elf_generic.h
│   │   ├── endian.h
│   │   ├── errno.h
│   │   ├── eui64.h
│   │   ├── event.h
│   │   ├── eventhandler.h
│   │   ├── eventvar.h
│   │   ├── exec.h
│   │   ├── extattr.h
│   │   ├── fail.h
│   │   ├── fbio.h
│   │   ├── fcntl.h
│   │   ├── fdcio.h
│   │   ├── file.h
│   │   ├── filedesc.h
│   │   ├── filio.h
│   │   ├── firmware.h
│   │   ├── fnv_hash.h
│   │   ├── gmon.h
│   │   ├── gpio.h
│   │   ├── gpt.h
│   │   ├── hash.h
│   │   ├── hhook.h
│   │   ├── iconv.h
│   │   ├── imgact.h
│   │   ├── imgact_aout.h
│   │   ├── imgact_elf.h
│   │   ├── inflate.h
│   │   ├── interrupt.h
│   │   ├── ioccom.h
│   │   ├── ioctl.h
│   │   ├── ioctl_compat.h
│   │   ├── ipc.h
│   │   ├── ipmi.h
│   │   ├── jail.h
│   │   ├── joystick.h
│   │   ├── kbio.h
│   │   ├── kdb.h
│   │   ├── kenv.h
│   │   ├── kernel.h
│   │   ├── kerneldump.h
│   │   ├── khelp.h
│   │   ├── kobj.h
│   │   ├── ksem.h
│   │   ├── ksyms.h
│   │   ├── kthread.h
│   │   ├── ktr.h
│   │   ├── ktrace.h
│   │   ├── libkern.h
│   │   ├── limits.h
│   │   ├── link_aout.h
│   │   ├── link_elf.h
│   │   ├── linker.h
│   │   ├── linker_set.h
│   │   ├── lock.h
│   │   ├── lock_profile.h
│   │   ├── lockf.h
│   │   ├── lockmgr.h
│   │   ├── lockstat.h
│   │   ├── loginclass.h
│   │   ├── mac.h
│   │   ├── malloc.h
│   │   ├── mbpool.h
│   │   ├── mbuf.h
│   │   ├── mchain.h
│   │   ├── md4.h
│   │   ├── md5.h
│   │   ├── mdioctl.h
│   │   ├── memrange.h
│   │   ├── mman.h
│   │   ├── module.h
│   │   ├── module_khelp.h
│   │   ├── mount.h
│   │   ├── mouse.h
│   │   ├── mpt_ioctl.h
│   │   ├── mqueue.h
│   │   ├── msg.h
│   │   ├── msgbuf.h
│   │   ├── mtio.h
│   │   ├── mutex.h
│   │   ├── namei.h
│   │   ├── nlist_aout.h
│   │   ├── osd.h
│   │   ├── param.h
│   │   ├── pciio.h
│   │   ├── pcpu.h
│   │   ├── pioctl.h
│   │   ├── pipe.h
│   │   ├── pmc.h
│   │   ├── pmckern.h
│   │   ├── pmclog.h
│   │   ├── poll.h
│   │   ├── posix4.h
│   │   ├── power.h
│   │   ├── priority.h
│   │   ├── priv.h
│   │   ├── proc.h
│   │   ├── procdesc.h
│   │   ├── procfs.h
│   │   ├── protosw.h
│   │   ├── ptio.h
│   │   ├── ptrace.h
│   │   ├── queue.h
│   │   ├── racct.h
│   │   ├── random.h
│   │   ├── rctl.h
│   │   ├── reboot.h
│   │   ├── refcount.h
│   │   ├── regression.h
│   │   ├── resource.h
│   │   ├── resourcevar.h
│   │   ├── rman.h
│   │   ├── rmlock.h
│   │   ├── rtprio.h
│   │   ├── runq.h
│   │   ├── rwlock.h
│   │   ├── sbuf.h
│   │   ├── sched.h
│   │   ├── sdt.h
│   │   ├── select.h
│   │   ├── selinfo.h
│   │   ├── sem.h
│   │   ├── sema.h
│   │   ├── serial.h
│   │   ├── sf_buf.h
│   │   ├── sglist.h
│   │   ├── shm.h
│   │   ├── sigio.h
│   │   ├── signal.h
│   │   ├── signalvar.h
│   │   ├── sleepqueue.h
│   │   ├── smp.h
│   │   ├── snoop.h
│   │   ├── sockbuf.h
│   │   ├── socket.h
│   │   ├── socketvar.h
│   │   ├── sockio.h
│   │   ├── sockopt.h
│   │   ├── sockstate.h
│   │   ├── soundcard.h
│   │   ├── stack.h
│   │   ├── stat.h
│   │   ├── statvfs.h
│   │   ├── stddef.h
│   │   ├── stdint.h
│   │   ├── sun_disklabel.h
│   │   ├── sx.h
│   │   ├── syscall.h
│   │   ├── syscallsubr.h
│   │   ├── sysctl.h
│   │   ├── sysent.h
│   │   ├── syslimits.h
│   │   ├── syslog.h
│   │   ├── sysproto.h
│   │   ├── systm.h
│   │   ├── taskqueue.h
│   │   ├── termios.h
│   │   ├── thr.h
│   │   ├── tiio.h
│   │   ├── time.h
│   │   ├── timeb.h
│   │   ├── timeet.h
│   │   ├── timepps.h
│   │   ├── timers.h
│   │   ├── times.h
│   │   ├── timespec.h
│   │   ├── timetc.h
│   │   ├── timex.h
│   │   ├── tree.h
│   │   ├── tty.h
│   │   ├── ttycom.h
│   │   ├── ttydefaults.h
│   │   ├── ttydevsw.h
│   │   ├── ttydisc.h
│   │   ├── ttyhook.h
│   │   ├── ttyqueue.h
│   │   ├── turnstile.h
│   │   ├── types.h
│   │   ├── ucontext.h
│   │   ├── ucred.h
│   │   ├── uio.h
│   │   ├── umtx.h
│   │   ├── un.h
│   │   ├── unistd.h
│   │   ├── unpcb.h
│   │   ├── user.h
│   │   ├── utsname.h
│   │   ├── uuid.h
│   │   ├── vmmeter.h
│   │   ├── vnode.h
│   │   ├── vtoc.h
│   │   ├── wait.h
│   │   └── watchdog.h
│   ├── sysexits.h
│   ├── taclib.h
│   ├── tar.h
│   ├── tcpd.h
│   ├── term.h
│   ├── termcap.h
│   ├── termios.h
│   ├── tgmath.h
│   ├── thread_db.h
│   ├── time.h
│   ├── timeconv.h
│   ├── timers.h
│   ├── ttyent.h
│   ├── ufs/
│   │   ├── ffs/
│   │   │   ├── ffs_extern.h
│   │   │   ├── fs.h
│   │   │   └── softdep.h
│   │   └── ufs/
│   │       ├── acl.h
│   │       ├── dinode.h
│   │       ├── dir.h
│   │       ├── dirhash.h
│   │       ├── extattr.h
│   │       ├── gjournal.h
│   │       ├── inode.h
│   │       ├── quota.h
│   │       ├── ufs_extern.h
│   │       └── ufsmount.h
│   ├── ugidfw.h
│   ├── ulimit.h
│   ├── ulog.h
│   ├── unctrl.h
│   ├── unistd.h
│   ├── usb.h
│   ├── usbhid.h
│   ├── utempter.h
│   ├── utime.h
│   ├── utmpx.h
│   ├── uuid.h
│   ├── varargs.h
│   ├── vgl.h
│   ├── vis.h
│   ├── vm/
│   │   ├── memguard.h
│   │   ├── pmap.h
│   │   ├── redzone.h
│   │   ├── swap_pager.h
│   │   ├── uma.h
│   │   ├── uma_dbg.h
│   │   ├── uma_int.h
│   │   ├── vm.h
│   │   ├── vm_extern.h
│   │   ├── vm_kern.h
│   │   ├── vm_map.h
│   │   ├── vm_object.h
│   │   ├── vm_page.h
│   │   ├── vm_pageout.h
│   │   ├── vm_pager.h
│   │   ├── vm_param.h
│   │   ├── vm_phys.h
│   │   ├── vm_reserv.h
│   │   └── vnode_pager.h
│   ├── wchar.h
│   ├── wctype.h
│   ├── wordexp.h
│   ├── x86/
│   │   ├── _align.h
│   │   ├── _inttypes.h
│   │   ├── apicreg.h
│   │   ├── apm_bios.h
│   │   ├── bus.h
│   │   ├── mca.h
│   │   ├── mptable.h
│   │   └── pci_cfgreg.h
│   ├── ypclnt.h
│   ├── zconf.h
│   └── zlib.h
├── gdb_stub/
│   ├── Makefile
│   ├── _end.c
│   ├── dbg.c
│   ├── dbg.h
│   ├── enhancer.py
│   ├── main.c
│   ├── ps4libs.c
│   ├── r0hooks.asm
│   ├── ring0.c
│   ├── strace.c
│   ├── strace_asm.asm
│   └── trap_state.h
├── lib/
│   ├── Makefile
│   ├── crt-elf-c.c
│   ├── crt-elf.asm
│   ├── crt.asm
│   ├── dl.c
│   ├── frankenelf.py
│   ├── rfork.asm
│   ├── syscalls-ps5.py
│   ├── syscalls.py
│   └── syscalls.txt
├── prosper0gdb/
│   ├── Makefile
│   ├── dbg.c
│   ├── import_offsets.py
│   ├── main.c
│   ├── offset_list.txt
│   ├── offsets.c
│   ├── offsets.h
│   ├── r0gdb.c
│   ├── r0gdb.h
│   ├── r0run.asm
│   ├── stuff/
│   │   └── offsets.txt
│   ├── trace_calls.py
│   ├── trace_decode.py
│   ├── trace_strings.py
│   └── tracefold.py
├── ps5-kstuff/
│   ├── 8cc-kekcalls.c
│   ├── Makefile
│   ├── Makefile.freebsd
│   ├── build_bearssl.sh
│   ├── build_libtomcrypt.sh
│   ├── freebsd-loader.c
│   ├── import_parasites.py
│   ├── kekcalls.txt
│   ├── kelf.asm
│   ├── main.c
│   ├── old/
│   │   ├── fself.inc
│   │   ├── fself_hooks.inc
│   │   ├── fself_syscalls.inc
│   │   ├── kek.asm
│   │   ├── parasites.inc
│   │   └── structs.inc
│   ├── overrides.h
│   ├── porting_tool/
│   │   ├── gdb_rpc.py
│   │   ├── main.py
│   │   ├── make_fself.py
│   │   ├── test_offsets.py
│   │   └── traces.py
│   ├── sqlite_triggers.c
│   ├── structs-freebsd.inc
│   ├── structs-ps5.inc
│   ├── uelf/
│   │   ├── crt.asm
│   │   ├── fakekeys.c
│   │   ├── fakekeys.h
│   │   ├── fpkg.c
│   │   ├── fpkg.h
│   │   ├── fpu.c
│   │   ├── fpu.h
│   │   ├── fself.c
│   │   ├── fself.h
│   │   ├── kekcall.c
│   │   ├── kekcall.h
│   │   ├── log.c
│   │   ├── log.h
│   │   ├── mailbox.c
│   │   ├── mailbox.h
│   │   ├── main.c
│   │   ├── npdrm.c
│   │   ├── npdrm.h
│   │   ├── parasite_desc.h
│   │   ├── parasites.h
│   │   ├── pfs_crypto.c
│   │   ├── pfs_crypto.h
│   │   ├── shared_area.h
│   │   ├── structs.h
│   │   ├── syscall_fixes.c
│   │   ├── syscall_fixes.h
│   │   ├── traps.h
│   │   ├── uexec.c
│   │   ├── uexec.h
│   │   ├── utils.c
│   │   └── utils.h
│   └── utils.c
└── ps5-kstuff-ldr/
    ├── Makefile
    ├── main.c
    └── sqlite_triggers.c
Download .txt
Showing preview only (1,755K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (30354 symbols across 1619 files)

FILE: freebsd-headers/Block_private.h
  type Block_descriptor (line 62) | struct Block_descriptor {
  type Block_layout (line 70) | struct Block_layout {
  type Block_byref (line 80) | struct Block_byref {
  type Block_byref_header (line 91) | struct Block_byref_header {
  type Block_basic (line 163) | struct Block_basic {

FILE: freebsd-headers/FlexLexer.h
  type yy_buffer_state (line 51) | struct yy_buffer_state
  type yy_state_type (line 52) | typedef int yy_state_type;
  function class (line 54) | class FlexLexer {
  function set_debug (line 85) | void set_debug( int flag )	{ yy_flex_debug = flag; }
  function class (line 103) | class yyFlexLexer : public FlexLexer {

FILE: freebsd-headers/_ctype.h
  function __maskrune (line 96) | static __inline int
  function __sbmaskrune (line 103) | static __inline int
  function __istype (line 110) | static __inline int
  function __sbistype (line 116) | static __inline int
  function __isctype (line 122) | static __inline int
  function __ct_rune_t (line 129) | static __inline __ct_rune_t
  function __ct_rune_t (line 136) | static __inline __ct_rune_t
  function __ct_rune_t (line 143) | static __inline __ct_rune_t
  function __ct_rune_t (line 150) | static __inline __ct_rune_t
  function __wcwidth (line 157) | static __inline int

FILE: freebsd-headers/alias.h
  type libalias (line 74) | struct libalias
  type alias_link (line 82) | struct alias_link
  type libalias (line 85) | struct libalias
  type libalias (line 85) | struct libalias
  type libalias (line 86) | struct libalias
  type in_addr (line 86) | struct in_addr
  type libalias (line 87) | struct libalias
  type libalias (line 88) | struct libalias
  type libalias (line 90) | struct libalias
  type libalias (line 91) | struct libalias
  type libalias (line 94) | struct libalias
  type libalias (line 95) | struct libalias
  type libalias (line 96) | struct libalias
  type libalias (line 97) | struct libalias
  type libalias (line 102) | struct libalias
  type alias_link (line 102) | struct alias_link
  type in_addr (line 103) | struct in_addr
  type alias_link (line 104) | struct alias_link
  type libalias (line 105) | struct libalias
  type in_addr (line 105) | struct in_addr
  type in_addr (line 106) | struct in_addr
  type libalias (line 107) | struct libalias
  type alias_link (line 107) | struct alias_link
  type libalias (line 108) | struct libalias
  type alias_link (line 108) | struct alias_link
  type alias_link (line 109) | struct alias_link
  type libalias (line 110) | struct libalias
  type in_addr (line 110) | struct in_addr
  type in_addr (line 111) | struct in_addr
  type in_addr (line 112) | struct in_addr
  type alias_link (line 114) | struct alias_link
  type libalias (line 115) | struct libalias
  type in_addr (line 115) | struct in_addr
  type in_addr (line 116) | struct in_addr
  type in_addr (line 116) | struct in_addr
  type libalias (line 120) | struct libalias
  type libalias (line 121) | struct libalias
  type libalias (line 122) | struct libalias
  type libalias (line 125) | struct libalias
  type libalias (line 127) | struct libalias
  type libalias (line 128) | struct libalias
  type in_addr (line 128) | struct in_addr
  type libalias (line 131) | struct libalias
  type mbuf (line 139) | struct mbuf
  type mbuf (line 139) | struct mbuf

FILE: freebsd-headers/altq/altq.h
  type altqreq (line 69) | struct	altqreq {
  type tb_profile (line 76) | struct	tb_profile {
  type tbrreq (line 82) | struct	tbrreq {
  type flowinfo (line 91) | struct flowinfo {
  type flowinfo_in (line 102) | struct flowinfo_in {
  type flowinfo_in6 (line 117) | struct flowinfo_in6 {
  type flow_filter (line 134) | struct flow_filter {
  type flow_filter6 (line 147) | struct flow_filter6 {
  type pktcntr (line 164) | struct pktcntr {

FILE: freebsd-headers/altq/altq_cbq.h
  type class_stats_t (line 70) | typedef struct _cbq_class_stats_ {
  type cbq_interface (line 108) | struct cbq_interface {
  type cbq_class_spec_t (line 112) | typedef struct cbq_class_spec {
  type cbq_add_class (line 126) | struct cbq_add_class {
  type cbq_delete_class (line 133) | struct cbq_delete_class {
  type cbq_modify_class (line 138) | struct cbq_modify_class {
  type cbq_add_filter (line 145) | struct cbq_add_filter {
  type cbq_delete_filter (line 153) | struct cbq_delete_filter {
  type cbq_getstats (line 159) | struct cbq_getstats {
  type cbq_state_t (line 201) | typedef struct cbqstate {

FILE: freebsd-headers/altq/altq_cdnr.h
  type cdnr_block (line 47) | struct cdnr_block
  type tc_action (line 49) | struct tc_action {
  type cdnr_interface (line 75) | struct cdnr_interface {
  type cdnr_add_element (line 80) | struct cdnr_add_element {
  type cdnr_delete_element (line 87) | struct cdnr_delete_element {
  type cdnr_add_tbmeter (line 93) | struct cdnr_add_tbmeter {
  type cdnr_modify_tbmeter (line 102) | struct cdnr_modify_tbmeter {
  type cdnr_tbmeter_stats (line 108) | struct cdnr_tbmeter_stats {
  type cdnr_add_trtcm (line 116) | struct cdnr_add_trtcm {
  type cdnr_modify_trtcm (line 128) | struct cdnr_modify_trtcm {
  type cdnr_tcm_stats (line 136) | struct cdnr_tcm_stats {
  type cdnr_add_tswtcm (line 145) | struct cdnr_add_tswtcm {
  type cdnr_modify_tswtcm (line 157) | struct cdnr_modify_tswtcm {
  type cdnr_add_filter (line 165) | struct cdnr_add_filter {
  type cdnr_delete_filter (line 174) | struct cdnr_delete_filter {
  type tce_stats (line 179) | struct tce_stats {
  type cdnr_get_stats (line 185) | struct cdnr_get_stats {
  type cdnr_pktinfo (line 239) | struct cdnr_pktinfo {
  type cdnr_block (line 247) | struct cdnr_block {
  type top_cdnr (line 262) | struct top_cdnr {
  type tbe (line 276) | struct tbe {
  type tbmeter (line 286) | struct tbmeter {
  type trtcm (line 296) | struct trtcm {
  type tswtcm (line 313) | struct tswtcm {

FILE: freebsd-headers/altq/altq_classq.h
  type _class_queue_ (line 58) | struct _class_queue_ {
  type class_queue_t (line 65) | typedef struct _class_queue_	class_queue_t;
  type mbuf (line 80) | struct mbuf
  type mbuf (line 81) | struct mbuf
  type mbuf (line 82) | struct mbuf
  type mbuf (line 83) | struct mbuf
  type mbuf (line 84) | struct mbuf
  function _addq (line 91) | static __inline void
  type mbuf (line 105) | struct mbuf
  type mbuf (line 108) | struct mbuf
  type mbuf (line 122) | struct mbuf
  type mbuf (line 125) | struct mbuf
  type mbuf (line 144) | struct mbuf
  type mbuf (line 147) | struct mbuf
  type mbuf (line 155) | struct mbuf
  function _removeq (line 171) | static __inline void
  function _flushq (line 189) | static __inline void

FILE: freebsd-headers/altq/altq_hfsc.h
  type service_curve (line 44) | struct service_curve {
  type hfsc_classstats (line 67) | struct hfsc_classstats {
  type hfsc_interface (line 110) | struct hfsc_interface {
  type hfsc_attach (line 114) | struct hfsc_attach {
  type hfsc_add_class (line 119) | struct hfsc_add_class {
  type hfsc_delete_class (line 129) | struct hfsc_delete_class {
  type hfsc_modify_class (line 134) | struct hfsc_modify_class {
  type hfsc_add_filter (line 141) | struct hfsc_add_filter {
  type hfsc_delete_filter (line 149) | struct hfsc_delete_filter {
  type hfsc_class_stats (line 154) | struct hfsc_class_stats {
  type internal_sc (line 200) | struct internal_sc {
  type runtime_sc (line 210) | struct runtime_sc {
  type hfsc_class (line 222) | struct hfsc_class
  type ellist_t (line 223) | typedef TAILQ_HEAD(_eligible, hfsc_class) ellist_t;
  type elentry_t (line 224) | typedef TAILQ_ENTRY(hfsc_class) elentry_t;
  type actlist_t (line 225) | typedef TAILQ_HEAD(_active, hfsc_class) actlist_t;
  type actentry_t (line 226) | typedef TAILQ_ENTRY(hfsc_class) actentry_t;
  type hfsc_class (line 231) | struct hfsc_class {
  type hfsc_if (line 295) | struct hfsc_if {

FILE: freebsd-headers/altq/altq_priq.h
  type priq_interface (line 43) | struct priq_interface {
  type priq_add_class (line 48) | struct priq_add_class {
  type priq_delete_class (line 69) | struct priq_delete_class {
  type priq_modify_class (line 74) | struct priq_modify_class {
  type priq_add_filter (line 82) | struct priq_add_filter {
  type priq_delete_filter (line 90) | struct priq_delete_filter {
  type priq_classstats (line 96) | struct priq_classstats {
  type priq_class_stats (line 111) | struct priq_class_stats {
  type priq_class (line 134) | struct priq_class {
  type priq_if (line 152) | struct priq_if {

FILE: freebsd-headers/altq/altq_red.h
  type red_interface (line 35) | struct red_interface {
  type red_stats (line 39) | struct red_stats {
  type red_conf (line 65) | struct red_conf {
  type redparams (line 87) | struct redparams {
  type redstats (line 93) | struct redstats {
  type flowvalve (line 118) | struct flowvalve
  type wtab (line 122) | struct wtab {
  type red_t (line 130) | typedef struct red {
  type red_queue_t (line 169) | typedef struct red_queue {
  type redstats (line 186) | struct redstats
  type mbuf (line 187) | struct mbuf
  type altq_pktattr (line 188) | struct altq_pktattr
  type mbuf (line 189) | struct mbuf
  type mbuf (line 191) | struct mbuf
  type altq_pktattr (line 191) | struct altq_pktattr
  type wtab (line 192) | struct wtab
  type wtab (line 193) | struct wtab
  type wtab (line 194) | struct wtab

FILE: freebsd-headers/altq/altq_rio.h
  type rio_interface (line 41) | struct rio_interface {
  type rio_stats (line 45) | struct rio_stats {
  type rio_conf (line 57) | struct rio_conf {
  type rio_t (line 88) | typedef struct rio {
  type rio_queue_t (line 125) | typedef struct rio_queue {
  type redparams (line 135) | struct redparams
  type redstats (line 137) | struct redstats
  type mbuf (line 138) | struct mbuf
  type altq_pktattr (line 139) | struct altq_pktattr
  type mbuf (line 140) | struct mbuf

FILE: freebsd-headers/altq/altq_rmclass.h
  type mbuf_t (line 51) | typedef struct mbuf		mbuf_t;
  type rm_ifdat_t (line 52) | typedef struct rm_ifdat		rm_ifdat_t;
  type rm_class_t (line 53) | typedef struct rm_class		rm_class_t;
  type red (line 55) | struct red
  type rm_class_stats_t (line 123) | typedef struct _rm_class_stats_ {
  type rm_class (line 138) | struct rm_class {
  type rm_ifdat (line 183) | struct rm_ifdat {
  type rm_ifdat (line 243) | struct rm_ifdat
  type rm_class (line 244) | struct rm_class
  type rm_class (line 244) | struct rm_class
  type rm_class (line 245) | struct rm_class
  type rm_class (line 245) | struct rm_class
  type rm_ifdat (line 247) | struct rm_ifdat
  type rm_class (line 247) | struct rm_class
  type rm_class (line 248) | struct rm_class
  type ifaltq (line 250) | struct ifaltq
  type rm_ifdat (line 250) | struct rm_ifdat
  type ifaltq (line 251) | struct ifaltq
  type rm_class (line 253) | struct rm_class
  type rm_ifdat (line 254) | struct rm_ifdat
  type rm_ifdat (line 255) | struct rm_ifdat
  type rm_class (line 256) | struct rm_class
  type rm_class (line 256) | struct rm_class
  type rm_class (line 257) | struct rm_class
  type rm_ifdat (line 258) | struct rm_ifdat

FILE: freebsd-headers/altq/altq_rmclass_debug.h
  type cbqtrace (line 63) | struct cbqtrace {
  type cbqtrace (line 70) | struct cbqtrace
  type cbqtrace (line 71) | struct cbqtrace

FILE: freebsd-headers/altq/altq_var.h
  type acc_filter (line 42) | struct acc_filter {
  type acc_classifier (line 79) | struct acc_classifier {
  type u_long (line 144) | typedef u_long ioctlcmd_t;
  type callout (line 181) | struct callout {
  type callout (line 193) | struct callout {
  type ifnet (line 210) | struct ifnet
  type mbuf (line 210) | struct mbuf
  type pf_altq (line 211) | struct pf_altq
  type flowinfo (line 213) | struct flowinfo
  type mbuf (line 218) | struct mbuf
  type flowinfo (line 218) | struct flowinfo
  type acc_classifier (line 219) | struct acc_classifier
  type flow_filter (line 219) | struct flow_filter
  type acc_classifier (line 221) | struct acc_classifier
  type acc_classifier (line 222) | struct acc_classifier
  type mbuf (line 223) | struct mbuf
  type mbuf (line 225) | struct mbuf
  type altq_pktattr (line 225) | struct altq_pktattr
  type mbuf (line 226) | struct mbuf
  type altq_pktattr (line 226) | struct altq_pktattr
  type ifaltq (line 228) | struct ifaltq
  type tb_profile (line 228) | struct tb_profile
  type ifaltq (line 229) | struct ifaltq
  type tb_profile (line 229) | struct tb_profile
  type pf_altq (line 231) | struct pf_altq
  type pf_altq (line 232) | struct pf_altq
  type pf_altq (line 233) | struct pf_altq
  type pf_altq (line 234) | struct pf_altq
  type pf_altq (line 235) | struct pf_altq
  type pf_altq (line 236) | struct pf_altq
  type pf_altq (line 237) | struct pf_altq
  type pf_altq (line 239) | struct pf_altq
  type pf_altq (line 240) | struct pf_altq
  type pf_altq (line 241) | struct pf_altq
  type pf_altq (line 242) | struct pf_altq
  type pf_altq (line 243) | struct pf_altq
  type pf_altq (line 244) | struct pf_altq
  type pf_altq (line 246) | struct pf_altq
  type pf_altq (line 247) | struct pf_altq
  type pf_altq (line 248) | struct pf_altq
  type pf_altq (line 249) | struct pf_altq
  type pf_altq (line 250) | struct pf_altq
  type pf_altq (line 251) | struct pf_altq
  type pf_altq (line 253) | struct pf_altq
  type pf_altq (line 254) | struct pf_altq
  type pf_altq (line 255) | struct pf_altq
  type pf_altq (line 256) | struct pf_altq
  type pf_altq (line 257) | struct pf_altq
  type pf_altq (line 258) | struct pf_altq

FILE: freebsd-headers/altq/if_altq.h
  type altq_pktattr (line 42) | struct altq_pktattr
  type tb_regulator (line 42) | struct tb_regulator
  type top_cdnr (line 42) | struct top_cdnr
  type ifaltq (line 47) | struct	ifaltq {
  type altq_pktattr (line 100) | struct altq_pktattr {
  type altq_tag (line 109) | struct altq_tag {
  type tb_regulator (line 125) | struct tb_regulator {
  type ifaltq (line 174) | struct ifaltq
  type ifaltq (line 175) | struct ifaltq
  type mbuf (line 175) | struct mbuf
  type altq_pktattr (line 176) | struct altq_pktattr
  type mbuf (line 177) | struct mbuf
  type ifaltq (line 177) | struct ifaltq
  type ifaltq (line 178) | struct ifaltq
  type mbuf (line 180) | struct mbuf
  type ifaltq (line 181) | struct ifaltq
  type ifaltq (line 182) | struct ifaltq
  type ifaltq (line 183) | struct ifaltq
  type mbuf (line 184) | struct mbuf
  type ifaltq (line 184) | struct ifaltq
  type mbuf (line 185) | struct mbuf
  type ifaltq (line 187) | struct ifaltq
  type mbuf (line 187) | struct mbuf
  type altq_pktattr (line 187) | struct altq_pktattr

FILE: freebsd-headers/ar.h
  type ar_hdr (line 56) | struct ar_hdr {

FILE: freebsd-headers/archive.h
  type archive (line 164) | struct archive
  type archive_entry (line 165) | struct archive_entry
  type __LA_SSIZE_T (line 203) | typedef __LA_SSIZE_T	archive_read_callback(struct archive *,
  type __LA_SSIZE_T (line 210) | typedef __LA_SSIZE_T	archive_skip_callback(struct archive *,
  type off_t (line 215) | typedef off_t		archive_skip_callback(struct archive *,
  type __LA_INT64_T (line 220) | typedef __LA_INT64_T	archive_skip_callback(struct archive *,
  type __LA_SSIZE_T (line 225) | typedef __LA_SSIZE_T	archive_write_callback(struct archive *,
  type archive (line 231) | struct archive
  type archive (line 234) | struct archive
  type archive (line 312) | struct archive
  type archive (line 313) | struct archive
  type archive (line 314) | struct archive
  type archive (line 315) | struct archive
  type archive (line 316) | struct archive
  type archive (line 317) | struct archive
  type archive (line 318) | struct archive
  type archive (line 321) | struct archive
  type archive (line 324) | struct archive
  type archive (line 325) | struct archive
  type archive (line 326) | struct archive
  type archive (line 328) | struct archive
  type archive (line 329) | struct archive
  type archive (line 330) | struct archive
  type archive (line 331) | struct archive
  type archive (line 332) | struct archive
  type archive (line 333) | struct archive
  type archive (line 334) | struct archive
  type archive (line 335) | struct archive
  type archive (line 336) | struct archive
  type archive (line 337) | struct archive
  type archive (line 338) | struct archive
  type archive (line 342) | struct archive
  type archive (line 345) | struct archive
  type archive (line 355) | struct archive
  type archive (line 358) | struct archive
  type archive (line 361) | struct archive
  type archive (line 364) | struct archive
  type archive (line 367) | struct archive
  type archive (line 371) | struct archive
  type archive (line 374) | struct archive
  type archive_entry (line 375) | struct archive_entry
  type archive (line 378) | struct archive
  type archive_entry (line 379) | struct archive_entry
  type archive (line 385) | struct archive
  type archive (line 388) | struct archive
  type archive (line 398) | struct archive
  type archive (line 401) | struct archive
  type archive (line 412) | struct archive
  type archive (line 413) | struct archive
  type archive (line 415) | struct archive
  type archive (line 421) | struct archive
  type archive (line 424) | struct archive
  type archive (line 427) | struct archive
  type archive (line 474) | struct archive
  type archive_entry (line 474) | struct archive_entry
  type archive (line 476) | struct archive
  type archive_entry (line 476) | struct archive_entry
  type archive (line 477) | struct archive
  type archive (line 478) | struct archive
  type archive (line 483) | struct archive
  type archive (line 487) | struct archive
  type archive (line 490) | struct archive
  type archive (line 493) | struct archive
  type archive (line 512) | struct archive
  type archive (line 514) | struct archive
  type archive (line 516) | struct archive
  type archive (line 518) | struct archive
  type archive (line 522) | struct archive
  type archive (line 524) | struct archive
  type archive (line 525) | struct archive
  type archive (line 526) | struct archive
  type archive (line 527) | struct archive
  type archive (line 528) | struct archive
  type archive (line 529) | struct archive
  type archive (line 531) | struct archive
  type archive (line 533) | struct archive
  type archive (line 534) | struct archive
  type archive (line 537) | struct archive
  type archive (line 538) | struct archive
  type archive (line 539) | struct archive
  type archive (line 540) | struct archive
  type archive (line 541) | struct archive
  type archive (line 543) | struct archive
  type archive (line 544) | struct archive
  type archive (line 545) | struct archive
  type archive (line 546) | struct archive
  type archive (line 547) | struct archive
  type archive (line 548) | struct archive
  type archive (line 549) | struct archive
  type archive (line 552) | struct archive
  type archive (line 553) | struct archive
  type archive (line 555) | struct archive
  type archive (line 556) | struct archive
  type archive (line 559) | struct archive
  type archive (line 566) | struct archive
  type archive_entry (line 567) | struct archive_entry
  type archive (line 570) | struct archive
  type archive (line 574) | struct archive
  type archive (line 581) | struct archive
  type archive (line 585) | struct archive
  type archive (line 588) | struct archive
  type archive (line 589) | struct archive
  type archive (line 593) | struct archive
  type archive (line 596) | struct archive
  type archive (line 603) | struct archive
  type archive (line 606) | struct archive
  type archive (line 609) | struct archive
  type archive (line 631) | struct archive
  type archive (line 635) | struct archive
  type archive (line 654) | struct archive
  type archive (line 660) | struct archive
  type archive (line 664) | struct archive
  type archive (line 678) | struct archive
  type archive (line 680) | struct archive
  type archive (line 682) | struct archive
  type archive (line 684) | struct archive
  type archive_entry (line 685) | struct archive_entry
  type stat (line 685) | struct stat
  type archive (line 688) | struct archive
  type archive (line 689) | struct archive
  type archive (line 692) | struct archive
  type archive (line 694) | struct archive
  type archive (line 698) | struct archive
  type archive (line 708) | struct archive
  type archive (line 710) | struct archive
  type archive (line 712) | struct archive
  type archive (line 713) | struct archive
  type archive (line 714) | struct archive
  type archive (line 715) | struct archive
  type archive (line 716) | struct archive
  type archive (line 717) | struct archive
  type archive (line 718) | struct archive
  type archive (line 719) | struct archive
  type archive (line 721) | struct archive
  type archive (line 722) | struct archive
  type archive (line 723) | struct archive

FILE: freebsd-headers/archive_entry.h
  type archive_entry (line 124) | struct archive_entry
  type archive_entry (line 160) | struct archive_entry
  type archive_entry (line 162) | struct archive_entry
  type archive_entry (line 163) | struct archive_entry
  type archive_entry (line 185) | struct archive_entry
  type archive_entry (line 186) | struct archive_entry
  type archive_entry (line 187) | struct archive_entry
  type archive_entry (line 188) | struct archive_entry
  type archive_entry (line 189) | struct archive_entry
  type archive_entry (line 190) | struct archive_entry
  type archive_entry (line 191) | struct archive_entry
  type archive_entry (line 192) | struct archive_entry
  type archive_entry (line 193) | struct archive_entry
  type archive_entry (line 194) | struct archive_entry
  type archive_entry (line 195) | struct archive_entry
  type archive_entry (line 196) | struct archive_entry
  type archive_entry (line 197) | struct archive_entry
  type archive_entry (line 198) | struct archive_entry
  type archive_entry (line 201) | struct archive_entry
  type archive_entry (line 202) | struct archive_entry
  type archive_entry (line 203) | struct archive_entry
  type archive_entry (line 204) | struct archive_entry
  type archive_entry (line 205) | struct archive_entry
  type archive_entry (line 206) | struct archive_entry
  type archive_entry (line 207) | struct archive_entry
  type archive_entry (line 208) | struct archive_entry
  type archive_entry (line 209) | struct archive_entry
  type archive_entry (line 210) | struct archive_entry
  type archive_entry (line 211) | struct archive_entry
  type archive_entry (line 212) | struct archive_entry
  type archive_entry (line 213) | struct archive_entry
  type archive_entry (line 214) | struct archive_entry
  type archive_entry (line 215) | struct archive_entry
  type archive_entry (line 216) | struct archive_entry
  type archive_entry (line 217) | struct archive_entry
  type archive_entry (line 218) | struct archive_entry
  type archive_entry (line 219) | struct archive_entry
  type archive_entry (line 220) | struct archive_entry
  type archive_entry (line 221) | struct archive_entry
  type archive_entry (line 222) | struct archive_entry
  type archive_entry (line 223) | struct archive_entry
  type archive_entry (line 224) | struct archive_entry
  type archive_entry (line 225) | struct archive_entry
  type archive_entry (line 226) | struct archive_entry
  type archive_entry (line 227) | struct archive_entry
  type archive_entry (line 240) | struct archive_entry
  type archive_entry (line 241) | struct archive_entry
  type archive_entry (line 243) | struct archive_entry
  type archive_entry (line 246) | struct archive_entry
  type archive_entry (line 247) | struct archive_entry
  type archive_entry (line 248) | struct archive_entry
  type archive_entry (line 249) | struct archive_entry
  type archive_entry (line 250) | struct archive_entry
  type archive_entry (line 251) | struct archive_entry
  type archive_entry (line 252) | struct archive_entry
  type archive_entry (line 253) | struct archive_entry
  type archive_entry (line 254) | struct archive_entry
  type archive_entry (line 258) | struct archive_entry
  type archive_entry (line 260) | struct archive_entry
  type archive_entry (line 262) | struct archive_entry
  type archive_entry (line 263) | struct archive_entry
  type archive_entry (line 264) | struct archive_entry
  type archive_entry (line 265) | struct archive_entry
  type archive_entry (line 266) | struct archive_entry
  type archive_entry (line 267) | struct archive_entry
  type archive_entry (line 268) | struct archive_entry
  type archive_entry (line 269) | struct archive_entry
  type archive_entry (line 270) | struct archive_entry
  type archive_entry (line 273) | struct archive_entry
  type archive_entry (line 275) | struct archive_entry
  type archive_entry (line 277) | struct archive_entry
  type archive_entry (line 278) | struct archive_entry
  type archive_entry (line 279) | struct archive_entry
  type archive_entry (line 280) | struct archive_entry
  type archive_entry (line 281) | struct archive_entry
  type archive_entry (line 282) | struct archive_entry
  type archive_entry (line 283) | struct archive_entry
  type archive_entry (line 284) | struct archive_entry
  type archive_entry (line 285) | struct archive_entry
  type archive_entry (line 286) | struct archive_entry
  type archive_entry (line 287) | struct archive_entry
  type archive_entry (line 288) | struct archive_entry
  type archive_entry (line 289) | struct archive_entry
  type archive_entry (line 290) | struct archive_entry
  type archive_entry (line 291) | struct archive_entry
  type archive_entry (line 292) | struct archive_entry
  type archive_entry (line 293) | struct archive_entry
  type archive_entry (line 294) | struct archive_entry
  type archive_entry (line 295) | struct archive_entry
  type archive_entry (line 296) | struct archive_entry
  type archive_entry (line 297) | struct archive_entry
  type archive_entry (line 298) | struct archive_entry
  type archive_entry (line 299) | struct archive_entry
  type archive_entry (line 300) | struct archive_entry
  type archive_entry (line 301) | struct archive_entry
  type archive_entry (line 302) | struct archive_entry
  type archive_entry (line 303) | struct archive_entry
  type archive_entry (line 304) | struct archive_entry
  type archive_entry (line 305) | struct archive_entry
  type archive_entry (line 315) | struct archive_entry
  type archive_entry (line 316) | struct archive_entry
  type stat (line 316) | struct stat
  type archive_entry (line 365) | struct archive_entry
  type archive_entry (line 366) | struct archive_entry
  type archive_entry (line 369) | struct archive_entry
  type archive_entry (line 378) | struct archive_entry
  type archive_entry (line 379) | struct archive_entry
  type archive_entry (line 382) | struct archive_entry
  type archive_entry (line 399) | struct archive_entry
  type archive_entry (line 403) | struct archive_entry
  type archive_entry (line 418) | struct archive_entry
  type archive_entry (line 425) | struct archive_entry
  type archive_entry (line 426) | struct archive_entry
  type archive_entry (line 435) | struct archive_entry
  type archive_entry (line 436) | struct archive_entry
  type archive_entry (line 437) | struct archive_entry
  type archive_entry_linkresolver (line 468) | struct archive_entry_linkresolver
  type archive_entry_linkresolver (line 512) | struct archive_entry_linkresolver
  type archive_entry_linkresolver (line 513) | struct archive_entry_linkresolver
  type archive_entry_linkresolver (line 514) | struct archive_entry_linkresolver
  type archive_entry (line 515) | struct archive_entry
  type archive_entry (line 515) | struct archive_entry

FILE: freebsd-headers/arpa/inet.h
  type __uint16_t (line 73) | typedef	__uint16_t	uint16_t;
  type __uint32_t (line 78) | typedef	__uint32_t	uint32_t;
  type in_addr_t (line 83) | typedef	uint32_t	in_addr_t;
  type in_port_t (line 88) | typedef	uint16_t	in_port_t;
  type __size_t (line 94) | typedef	__size_t	size_t;
  type __socklen_t (line 104) | typedef	__socklen_t	socklen_t;
  type in_addr (line 109) | struct in_addr {
  type in_addr (line 146) | struct in_addr
  type in_addr (line 152) | struct in_addr
  type in_addr (line 153) | struct in_addr
  type in_addr (line 154) | struct in_addr
  type in_addr (line 156) | struct in_addr
  type in_addr (line 160) | struct in_addr

FILE: freebsd-headers/arpa/nameser.h
  type ns_sect (line 94) | typedef enum __ns_sect {
  type ns_msg (line 110) | typedef struct __ns_msg {
  type _ns_flagdata (line 120) | struct _ns_flagdata {  int mask, shift;  }
  type _ns_flagdata (line 121) | struct _ns_flagdata
  type ns_rr (line 134) | typedef	struct __ns_rr {
  type ns_flag (line 156) | typedef enum __ns_flag {
  type ns_opcode (line 173) | typedef enum __ns_opcode {
  type ns_rcode (line 186) | typedef	enum __ns_rcode {
  type ns_update_operation (line 209) | typedef enum __ns_update_operation {
  type ns_tsig_key (line 218) | struct ns_tsig_key {
  type ns_tsig_key (line 223) | typedef struct ns_tsig_key ns_tsig_key;
  type ns_tcp_tsig_state (line 228) | struct ns_tcp_tsig_state {
  type ns_tcp_tsig_state (line 235) | typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
  type ns_type (line 248) | typedef enum __ns_type {
  type ns_class (line 317) | typedef enum __ns_class {
  type ns_key_types (line 331) | typedef enum __ns_key_types {
  type ns_cert_types (line 338) | typedef enum __ns_cert_types {

FILE: freebsd-headers/arpa/nameser_compat.h
  type HEADER (line 60) | typedef struct {

FILE: freebsd-headers/arpa/tftp.h
  type tftphdr (line 51) | struct tftphdr {

FILE: freebsd-headers/asn1_err.h
  type et_list (line 7) | struct et_list
  type et_list (line 9) | struct et_list
  type asn1_error_number (line 14) | typedef enum asn1_error_number{

FILE: freebsd-headers/bluetooth.h
  type hostent (line 71) | struct hostent
  type hostent (line 72) | struct hostent
  type hostent (line 73) | struct hostent
  type protoent (line 77) | struct protoent
  type protoent (line 78) | struct protoent
  type protoent (line 79) | struct protoent
  type bt_devinfo (line 98) | struct bt_devinfo
  type bt_devreq (line 138) | struct bt_devreq
  type bt_devfilter (line 148) | struct bt_devfilter {
  type bt_devinquiry (line 153) | struct bt_devinquiry {
  type bt_devinfo (line 163) | struct bt_devinfo
  type bt_devreq (line 169) | struct bt_devreq
  type bt_devfilter (line 170) | struct bt_devfilter
  type bt_devfilter (line 171) | struct bt_devfilter
  type bt_devfilter (line 172) | struct bt_devfilter
  type bt_devfilter (line 173) | struct bt_devfilter
  type bt_devfilter (line 174) | struct bt_devfilter
  type bt_devfilter (line 175) | struct bt_devfilter
  type bt_devfilter (line 176) | struct bt_devfilter
  type bt_devfilter (line 177) | struct bt_devfilter
  type bt_devinquiry (line 179) | struct bt_devinquiry
  type bt_devinfo (line 180) | struct bt_devinfo
  function bdaddr_same (line 187) | static __inline int
  function bdaddr_any (line 195) | static __inline int
  function bdaddr_copy (line 202) | static __inline void

FILE: freebsd-headers/bsdxml.h
  type XML_ParserStruct (line 16) | struct XML_ParserStruct
  type XML_ParserStruct (line 17) | struct XML_ParserStruct
  type XML_Bool (line 20) | typedef unsigned char XML_Bool;
  type XML_Status (line 37) | enum XML_Status {
  type XML_Error (line 46) | enum XML_Error {
  type XML_Content_Type (line 93) | enum XML_Content_Type {
  type XML_Content_Quant (line 102) | enum XML_Content_Quant {
  type XML_Content (line 127) | typedef struct XML_cp XML_Content;
  type XML_cp (line 129) | struct XML_cp {
  type XML_Memory_Handling_Suite (line 188) | typedef struct {
  type XML_Encoding (line 498) | typedef struct {
  type XML_Status (line 674) | enum XML_Status
  type XML_Error (line 702) | enum XML_Error
  type XML_Status (line 714) | enum XML_Status
  type XML_Status (line 746) | enum XML_Status
  type XML_Status (line 752) | enum XML_Status
  type XML_Status (line 786) | enum XML_Status
  type XML_Status (line 801) | enum XML_Status
  type XML_Parsing (line 804) | enum XML_Parsing {
  type XML_ParsingStatus (line 811) | typedef struct {
  type XML_ParamEntityParsing (line 845) | enum XML_ParamEntityParsing {
  type XML_ParamEntityParsing (line 876) | enum XML_ParamEntityParsing
  type XML_Error (line 881) | enum XML_Error
  type XML_Error (line 950) | enum XML_Error
  type XML_Expat_Version (line 956) | typedef struct {
  type XML_FeatureEnum (line 969) | enum XML_FeatureEnum {
  type XML_Feature (line 983) | typedef struct {

FILE: freebsd-headers/bsdxml_external.h
  type wchar_t (line 87) | typedef wchar_t XML_Char;
  type wchar_t (line 88) | typedef wchar_t XML_LChar;
  type XML_Char (line 90) | typedef unsigned short XML_Char;
  type XML_LChar (line 91) | typedef char XML_LChar;
  type XML_Char (line 94) | typedef char XML_Char;
  type XML_LChar (line 95) | typedef char XML_LChar;
  type __int64 (line 100) | typedef __int64 XML_Index;
  type XML_Size (line 101) | typedef unsigned __int64 XML_Size;
  type XML_Index (line 103) | typedef long long XML_Index;
  type XML_Size (line 104) | typedef unsigned long long XML_Size;
  type XML_Index (line 107) | typedef long XML_Index;
  type XML_Size (line 108) | typedef unsigned long XML_Size;

FILE: freebsd-headers/bsm/audit.h
  type pid_t (line 172) | typedef	pid_t		au_asid_t;
  type u_int16_t (line 173) | typedef	u_int16_t	au_event_t;
  type u_int16_t (line 174) | typedef	u_int16_t	au_emod_t;
  type u_int32_t (line 175) | typedef	u_int32_t	au_class_t;
  type u_int64_t (line 176) | typedef	u_int64_t	au_asflgs_t __attribute__ ((aligned (8)));
  type au_tid (line 178) | struct au_tid {
  type au_tid_t (line 182) | typedef	struct au_tid	au_tid_t;
  type au_tid_addr (line 184) | struct au_tid_addr {
  type au_tid_addr_t (line 189) | typedef	struct au_tid_addr	au_tid_addr_t;
  type au_mask (line 191) | struct au_mask {
  type au_mask_t (line 195) | typedef	struct au_mask	au_mask_t;
  type auditinfo (line 197) | struct auditinfo {
  type auditinfo_t (line 203) | typedef	struct auditinfo	auditinfo_t;
  type auditinfo_addr (line 205) | struct auditinfo_addr {
  type auditinfo_addr_t (line 212) | typedef	struct auditinfo_addr	auditinfo_addr_t;
  type auditpinfo (line 214) | struct auditpinfo {
  type auditpinfo_t (line 221) | typedef	struct auditpinfo	auditpinfo_t;
  type auditpinfo_addr (line 223) | struct auditpinfo_addr {
  type auditpinfo_addr_t (line 231) | typedef	struct auditpinfo_addr	auditpinfo_addr_t;
  type au_session (line 233) | struct au_session {
  type au_session_t (line 237) | typedef struct au_session       au_session_t;
  type token_t (line 242) | typedef	struct au_token	token_t;
  type au_qctrl (line 252) | struct au_qctrl {
  type au_qctrl_t (line 263) | typedef	struct au_qctrl	au_qctrl_t;
  type audit_stat (line 268) | struct audit_stat {
  type au_stat_t (line 284) | typedef	struct audit_stat	au_stat_t;
  type audit_fstat (line 289) | struct audit_fstat {
  type au_fstat_t (line 293) | typedef	struct audit_fstat	au_fstat_t;
  type au_evclass_map (line 298) | struct au_evclass_map {
  type au_evclass_map_t (line 302) | typedef	struct au_evclass_map	au_evclass_map_t;
  type auditinfo (line 313) | struct auditinfo
  type auditinfo (line 314) | struct auditinfo
  type auditinfo_addr (line 315) | struct auditinfo_addr
  type auditinfo_addr (line 316) | struct auditinfo_addr

FILE: freebsd-headers/bsm/audit_internal.h
  type au_token (line 51) | struct au_token {
  type au_record (line 57) | struct au_record {
  type au_record_t (line 65) | typedef	struct au_record	au_record_t;

FILE: freebsd-headers/bsm/audit_record.h
  type in6_addr (line 179) | struct in6_addr
  type ip (line 180) | struct ip
  type ipc_perm (line 181) | struct ipc_perm
  type kevent (line 182) | struct kevent
  type sockaddr (line 183) | struct sockaddr
  type sockaddr_in (line 184) | struct sockaddr_in
  type sockaddr_in6 (line 185) | struct sockaddr_in6
  type sockaddr_un (line 186) | struct sockaddr_un
  type vnode_au_info (line 188) | struct vnode_au_info
  type timeval (line 197) | struct timeval
  type timeval (line 200) | struct timeval
  type timeval (line 202) | struct timeval
  type auditinfo_addr (line 202) | struct auditinfo_addr
  type timeval (line 204) | struct timeval
  type vnode_au_info (line 219) | struct vnode_au_info
  type vnode_au_info (line 220) | struct vnode_au_info
  type vnode_au_info (line 221) | struct vnode_au_info
  type in_addr (line 229) | struct in_addr
  type in6_addr (line 230) | struct in6_addr
  type ip (line 231) | struct ip
  type ipc_perm (line 233) | struct ipc_perm
  type sockaddr (line 255) | struct sockaddr
  type sockaddr (line 255) | struct sockaddr
  type sockaddr_in (line 256) | struct sockaddr_in
  type sockaddr_in (line 257) | struct sockaddr_in
  type sockaddr_in6 (line 258) | struct sockaddr_in6
  type sockaddr_un (line 259) | struct sockaddr_un
  type kevent (line 280) | struct kevent

FILE: freebsd-headers/bsm/libbsm.h
  function __BEGIN_DECLS (line 103) | __BEGIN_DECLS
  type au_event_ent_t (line 110) | typedef struct au_event_ent au_event_ent_t;
  type au_class_ent (line 112) | struct au_class_ent {
  type au_class_ent_t (line 117) | typedef struct au_class_ent au_class_ent_t;
  type au_user_ent (line 119) | struct au_user_ent {
  type au_user_ent_t (line 124) | typedef struct au_user_ent au_user_ent_t;
  type au_tid32 (line 153) | struct au_tid32 {
  type au_tid64_t (line 158) | typedef struct au_tid64 {
  type au_tidaddr32_t (line 163) | typedef struct au_tidaddr32 {
  type au_tidaddr64_t (line 169) | typedef struct au_tidaddr64 {
  type au_arg32_t (line 181) | typedef struct {
  type au_arg64_t (line 188) | typedef struct {
  type au_arb_t (line 201) | typedef struct {
  type au_attr32_t (line 216) | typedef struct {
  type au_attr64_t (line 225) | typedef struct {
  type au_execarg_t (line 238) | typedef struct {
  type au_execenv_t (line 247) | typedef struct {
  type au_exit_t (line 256) | typedef struct {
  type au_file_t (line 267) | typedef struct {
  type au_groups_t (line 279) | typedef struct {
  type au_header32_t (line 292) | typedef struct {
  type au_header32_ex_t (line 311) | typedef struct {
  type au_header64_t (line 322) | typedef struct {
  type au_header64_ex_t (line 331) | typedef struct {
  type au_inaddr_t (line 345) | typedef struct {
  type au_inaddr_ex_t (line 353) | typedef struct {
  type au_ip_t (line 370) | typedef struct {
  type au_ipc_t (line 387) | typedef struct {
  type au_ipcperm_t (line 401) | typedef struct {
  type au_iport_t (line 414) | typedef struct {
  type au_opaque_t (line 422) | typedef struct {
  type au_path_t (line 431) | typedef struct {
  type au_proc32_t (line 448) | typedef struct {
  type au_proc64_t (line 459) | typedef struct {
  type au_proc32ex_t (line 483) | typedef struct {
  type au_proc64ex_t (line 494) | typedef struct {
  type au_ret32_t (line 509) | typedef struct {
  type au_ret64_t (line 514) | typedef struct {
  type au_seq_t (line 522) | typedef struct {
  type au_socket_t (line 533) | typedef struct {
  type au_socket_ex32_t (line 550) | typedef struct {
  type au_socketinet_ex32_t (line 565) | typedef struct {
  type au_socketinet32_t (line 571) | typedef struct {
  type au_socketunix_t (line 581) | typedef struct {
  type au_subject32_t (line 598) | typedef struct {
  type au_subject64_t (line 609) | typedef struct {
  type au_subject32ex_t (line 633) | typedef struct {
  type au_subject64ex_t (line 644) | typedef struct {
  type au_text_t (line 659) | typedef struct {
  type au_zonename_t (line 668) | typedef struct {
  type au_kevent_t (line 673) | typedef struct {
  type au_invalid_t (line 681) | typedef struct {
  type au_trailer_t (line 690) | typedef struct {
  type tokenstr (line 695) | struct tokenstr {
  type tokenstr_t (line 745) | typedef struct tokenstr tokenstr_t;
  type au_class_ent (line 755) | struct au_class_ent
  type au_class_ent (line 756) | struct au_class_ent
  type au_class_ent (line 757) | struct au_class_ent
  type au_class_ent (line 758) | struct au_class_ent
  type au_class_ent (line 760) | struct au_class_ent
  type au_class_ent (line 761) | struct au_class_ent
  type au_event_ent (line 790) | struct au_event_ent
  type au_event_ent (line 791) | struct au_event_ent
  type au_event_ent (line 791) | struct au_event_ent
  type au_event_ent (line 792) | struct au_event_ent
  type au_event_ent (line 793) | struct au_event_ent
  type au_event_ent (line 793) | struct au_event_ent
  type au_event_ent (line 795) | struct au_event_ent
  type au_event_ent (line 796) | struct au_event_ent
  type au_event_ent (line 796) | struct au_event_ent
  type au_user_ent (line 807) | struct au_user_ent
  type au_user_ent (line 808) | struct au_user_ent
  type au_user_ent (line 808) | struct au_user_ent
  type au_user_ent (line 809) | struct au_user_ent
  type au_user_ent (line 810) | struct au_user_ent
  type au_user_ent (line 810) | struct au_user_ent

FILE: freebsd-headers/bsnmp/asn1.h
  type asn_buf (line 38) | struct asn_buf {
  type asn_subid_t (line 56) | typedef uint32_t asn_subid_t;
  type asn_oid (line 58) | struct asn_oid {
  type asn_err (line 63) | enum asn_err {
  type asn_len_t (line 81) | typedef uint32_t asn_len_t;
  type asn_buf (line 90) | struct asn_buf
  type asn_err (line 92) | enum asn_err
  type asn_buf (line 92) | struct asn_buf
  type asn_err (line 93) | enum asn_err
  type asn_buf (line 93) | struct asn_buf
  type asn_err (line 95) | enum asn_err
  type asn_buf (line 95) | struct asn_buf
  type asn_err (line 96) | enum asn_err
  type asn_buf (line 96) | struct asn_buf
  type asn_err (line 98) | enum asn_err
  type asn_buf (line 98) | struct asn_buf
  type asn_err (line 99) | enum asn_err
  type asn_buf (line 99) | struct asn_buf
  type asn_err (line 100) | enum asn_err
  type asn_buf (line 100) | struct asn_buf
  type asn_err (line 102) | enum asn_err
  type asn_buf (line 102) | struct asn_buf
  type asn_err (line 103) | enum asn_err
  type asn_buf (line 103) | struct asn_buf
  type asn_err (line 104) | enum asn_err
  type asn_buf (line 104) | struct asn_buf
  type asn_err (line 106) | enum asn_err
  type asn_buf (line 106) | struct asn_buf
  type asn_err (line 107) | enum asn_err
  type asn_buf (line 107) | struct asn_buf
  type asn_err (line 108) | enum asn_err
  type asn_buf (line 108) | struct asn_buf
  type asn_err (line 110) | enum asn_err
  type asn_buf (line 110) | struct asn_buf
  type asn_err (line 112) | enum asn_err
  type asn_buf (line 112) | struct asn_buf
  type asn_oid (line 112) | struct asn_oid
  type asn_err (line 113) | enum asn_err
  type asn_buf (line 113) | struct asn_buf
  type asn_oid (line 113) | struct asn_oid
  type asn_err (line 114) | enum asn_err
  type asn_buf (line 114) | struct asn_buf
  type asn_oid (line 114) | struct asn_oid
  type asn_err (line 116) | enum asn_err
  type asn_buf (line 116) | struct asn_buf
  type asn_err (line 118) | enum asn_err
  type asn_buf (line 118) | struct asn_buf
  type asn_err (line 119) | enum asn_err
  type asn_buf (line 119) | struct asn_buf
  type asn_err (line 120) | enum asn_err
  type asn_buf (line 120) | struct asn_buf
  type asn_err (line 122) | enum asn_err
  type asn_buf (line 122) | struct asn_buf
  type asn_err (line 123) | enum asn_err
  type asn_buf (line 123) | struct asn_buf
  type asn_err (line 125) | enum asn_err
  type asn_buf (line 125) | struct asn_buf
  type asn_err (line 126) | enum asn_err
  type asn_buf (line 126) | struct asn_buf
  type asn_err (line 128) | enum asn_err
  type asn_buf (line 128) | struct asn_buf
  type asn_err (line 129) | enum asn_err
  type asn_buf (line 129) | struct asn_buf
  type asn_err (line 131) | enum asn_err
  type asn_buf (line 131) | struct asn_buf
  type asn_err (line 132) | enum asn_err
  type asn_buf (line 132) | struct asn_buf
  type asn_oid (line 138) | struct asn_oid
  type asn_oid (line 138) | struct asn_oid
  type asn_oid (line 141) | struct asn_oid
  type asn_oid (line 141) | struct asn_oid
  type asn_oid (line 144) | struct asn_oid
  type asn_oid (line 144) | struct asn_oid
  type asn_oid (line 147) | struct asn_oid
  type asn_oid (line 147) | struct asn_oid
  type asn_oid (line 150) | struct asn_oid
  type asn_oid (line 153) | struct asn_oid

FILE: freebsd-headers/bsnmp/bridge_snmp.h
  type u_char (line 37) | typedef u_char	bridge_id[SNMP_BRIDGE_ID_LEN];
  type bridge_if (line 73) | struct bridge_if
  type bridge_if (line 75) | struct bridge_if
  type tp_entry (line 84) | struct tp_entry {
  type bridge_port (line 99) | struct bridge_port {
  type bridge_if (line 147) | struct bridge_if {
  type bridge_if (line 191) | struct bridge_if
  type bridge_if (line 193) | struct bridge_if
  type mibif (line 199) | struct mibif
  type bridge_if (line 201) | struct bridge_if
  type bridge_if (line 203) | struct bridge_if
  type bridge_if (line 203) | struct bridge_if
  type bridge_if (line 205) | struct bridge_if
  type bridge_if (line 224) | struct bridge_if
  type bridge_port (line 226) | struct bridge_port
  type mibif (line 226) | struct mibif
  type bridge_if (line 226) | struct bridge_if
  type bridge_port (line 228) | struct bridge_port
  type bridge_if (line 228) | struct bridge_if
  type bridge_port (line 230) | struct bridge_port
  type bridge_if (line 230) | struct bridge_if
  type bridge_port (line 232) | struct bridge_port
  type bridge_port (line 232) | struct bridge_port
  type bridge_port (line 234) | struct bridge_port
  type bridge_if (line 234) | struct bridge_if
  type mibif (line 236) | struct mibif
  type bridge_port (line 236) | struct bridge_port
  type bridge_if (line 238) | struct bridge_if
  type bridge_if (line 240) | struct bridge_if
  type bridge_if (line 242) | struct bridge_if
  type bridge_if (line 249) | struct bridge_if
  type tp_entry (line 251) | struct tp_entry
  type bridge_if (line 251) | struct bridge_if
  type tp_entry (line 253) | struct tp_entry
  type bridge_if (line 253) | struct bridge_if
  type tp_entry (line 255) | struct tp_entry
  type bridge_if (line 255) | struct bridge_if
  type tp_entry (line 257) | struct tp_entry
  type bridge_if (line 257) | struct bridge_if
  type tp_entry (line 259) | struct tp_entry
  type tp_entry (line 259) | struct tp_entry
  type bridge_if (line 261) | struct bridge_if
  type bridge_if (line 263) | struct bridge_if
  type bridge_if (line 265) | struct bridge_if
  type bridge_if (line 280) | struct bridge_if
  type bridge_if (line 283) | struct bridge_if
  type bridge_if (line 286) | struct bridge_if
  type bridge_if (line 289) | struct bridge_if
  type bridge_if (line 292) | struct bridge_if
  type bridge_if (line 295) | struct bridge_if
  type bridge_if (line 298) | struct bridge_if
  type bridge_if (line 301) | struct bridge_if
  type bridge_if (line 304) | struct bridge_if
  type bridge_if (line 307) | struct bridge_if
  type bridge_port (line 322) | struct bridge_port
  type bridge_port (line 326) | struct bridge_port
  type bridge_port (line 330) | struct bridge_port
  type bridge_port (line 334) | struct bridge_port
  type bridge_port (line 338) | struct bridge_port
  type bridge_port (line 342) | struct bridge_port
  type bridge_port (line 346) | struct bridge_port
  type bridge_port (line 349) | struct bridge_port
  type snmp_op (line 355) | enum snmp_op

FILE: freebsd-headers/bsnmp/snmp.h
  type snmp_syntax (line 51) | enum snmp_syntax {
  type snmp_value (line 68) | struct snmp_value {
  type snmp_version (line 85) | enum snmp_version {
  type snmp_secmodel (line 107) | enum snmp_secmodel {
  type snmp_usm_level (line 115) | enum snmp_usm_level {
  type snmp_authentication (line 121) | enum snmp_authentication {
  type snmp_privacy (line 127) | enum snmp_privacy {
  type snmp_engine (line 133) | struct snmp_engine {
  type snmp_user (line 141) | struct snmp_user {
  type snmp_pdu (line 149) | struct snmp_pdu {
  type snmp_code (line 237) | enum snmp_code {
  type snmp_value (line 257) | struct snmp_value
  type snmp_syntax (line 258) | enum snmp_syntax
  type snmp_value (line 259) | struct snmp_value
  type snmp_value (line 259) | struct snmp_value
  type snmp_pdu (line 261) | struct snmp_pdu
  type snmp_pdu (line 262) | struct snmp_pdu
  type snmp_code (line 263) | enum snmp_code
  type asn_buf (line 263) | struct asn_buf
  type snmp_pdu (line 263) | struct snmp_pdu
  type snmp_code (line 264) | enum snmp_code
  type asn_buf (line 264) | struct asn_buf
  type snmp_pdu (line 264) | struct snmp_pdu
  type snmp_code (line 265) | enum snmp_code
  type asn_buf (line 265) | struct asn_buf
  type snmp_pdu (line 265) | struct snmp_pdu
  type snmp_code (line 266) | enum snmp_code
  type snmp_pdu (line 266) | struct snmp_pdu
  type asn_buf (line 266) | struct asn_buf
  type snmp_code (line 267) | enum snmp_code
  type asn_buf (line 267) | struct asn_buf
  type snmp_pdu (line 267) | struct snmp_pdu
  type asn_buf (line 269) | struct asn_buf
  type snmp_pdu (line 271) | struct snmp_pdu
  type snmp_code (line 273) | enum snmp_code
  type snmp_user (line 273) | struct snmp_user
  type snmp_code (line 274) | enum snmp_code
  type snmp_user (line 274) | struct snmp_user
  type snmp_code (line 275) | enum snmp_code
  type snmp_user (line 275) | struct snmp_user

FILE: freebsd-headers/bsnmp/snmp_atm.h
  type atmif_notify (line 37) | enum atmif_notify {
  type atmif_carrier_state (line 43) | enum atmif_carrier_state {
  type atmif_suni_mode (line 50) | enum atmif_suni_mode {
  type atmif (line 57) | struct atmif
  type atmif (line 58) | struct atmif
  type atmif_notify (line 58) | enum atmif_notify
  type atmif_mib (line 61) | struct atmif_mib {
  type atmif (line 78) | struct atmif {
  type atmif (line 86) | struct atmif
  type atmif (line 89) | struct atmif
  type atmif (line 92) | struct atmif
  type lmodule (line 92) | struct lmodule
  type atmif (line 97) | struct atmif
  type atmif (line 100) | struct atmif

FILE: freebsd-headers/bsnmp/snmp_mibII.h
  type mibif (line 37) | struct mibif
  type mibif_notify (line 39) | enum mibif_notify {
  type mibif (line 43) | struct mibif
  type mibif_notify (line 43) | enum mibif_notify
  type mibif (line 53) | struct mibif {
  type mibifa (line 90) | struct mibifa {
  type mibrcvaddr (line 104) | struct mibrcvaddr {
  type mibif (line 128) | struct mibif
  type mibif (line 129) | struct mibif
  type mibif (line 130) | struct mibif
  type mibif (line 133) | struct mibif
  type mibif (line 134) | struct mibif
  type mibif (line 134) | struct mibif
  type mibif (line 137) | struct mibif
  type lmodule (line 137) | struct lmodule
  type lmodule (line 138) | struct lmodule
  type mibif (line 141) | struct mibif
  type mibif (line 144) | struct mibif
  type mibifa (line 147) | struct mibifa
  type in_addr (line 147) | struct in_addr
  type mibifa (line 150) | struct mibifa
  type mibif (line 150) | struct mibif
  type mibifa (line 151) | struct mibifa
  type mibifa (line 151) | struct mibifa
  type mibif (line 154) | struct mibif
  type mibif (line 154) | struct mibif
  type mibif (line 155) | struct mibif
  type mibif (line 155) | struct mibif
  type mibrcvaddr (line 158) | struct mibrcvaddr
  type mibrcvaddr (line 161) | struct mibrcvaddr
  type mibif (line 161) | struct mibif
  type mibrcvaddr (line 162) | struct mibrcvaddr
  type mibif (line 165) | struct mibif
  type lmodule (line 165) | struct lmodule

FILE: freebsd-headers/bsnmp/snmp_netgraph.h
  type ng_mesg (line 42) | struct ng_mesg
  type lmodule (line 45) | struct lmodule
  type lmodule (line 49) | struct lmodule
  type lmodule (line 53) | struct lmodule
  type ng_mesg (line 62) | struct ng_mesg
  type ng_mesg (line 64) | struct ng_mesg
  type ng_mesg (line 66) | struct ng_mesg

FILE: freebsd-headers/bsnmp/snmpagent.h
  type snmp_dependency (line 36) | struct snmp_dependency
  type snmp_ret (line 38) | enum snmp_ret {
  type snmp_context (line 48) | struct snmp_context {
  type snmp_scratch (line 56) | struct snmp_scratch {
  type snmp_depop (line 63) | enum snmp_depop {
  type snmp_context (line 69) | struct snmp_context
  type snmp_dependency (line 69) | struct snmp_dependency
  type snmp_depop (line 70) | enum snmp_depop
  type snmp_dependency (line 72) | struct snmp_dependency {
  type snmp_node_type (line 80) | enum snmp_node_type {
  type snmp_op (line 85) | enum snmp_op {
  type snmp_context (line 93) | struct snmp_context
  type snmp_value (line 93) | struct snmp_value
  type snmp_op (line 94) | enum snmp_op
  type snmp_node (line 96) | struct snmp_node {
  type snmp_node (line 107) | struct snmp_node
  type snmp_ret (line 132) | enum snmp_ret
  type snmp_pdu (line 132) | struct snmp_pdu
  type asn_buf (line 132) | struct asn_buf
  type snmp_pdu (line 133) | struct snmp_pdu
  type snmp_ret (line 134) | enum snmp_ret
  type snmp_pdu (line 134) | struct snmp_pdu
  type asn_buf (line 134) | struct asn_buf
  type snmp_pdu (line 135) | struct snmp_pdu
  type snmp_ret (line 136) | enum snmp_ret
  type snmp_pdu (line 136) | struct snmp_pdu
  type asn_buf (line 136) | struct asn_buf
  type snmp_pdu (line 137) | struct snmp_pdu
  type snmp_ret (line 138) | enum snmp_ret
  type snmp_pdu (line 138) | struct snmp_pdu
  type asn_buf (line 138) | struct asn_buf
  type snmp_pdu (line 139) | struct snmp_pdu
  type snmp_ret (line 141) | enum snmp_ret
  type snmp_pdu (line 141) | struct snmp_pdu
  type asn_buf (line 141) | struct asn_buf
  type asn_buf (line 142) | struct asn_buf
  type snmp_dependency (line 144) | struct snmp_dependency
  type snmp_context (line 144) | struct snmp_context
  type asn_oid (line 145) | struct asn_oid
  type asn_oid (line 145) | struct asn_oid
  type snmp_context (line 147) | struct snmp_context
  type snmp_context (line 148) | struct snmp_context
  type snmp_context (line 149) | struct snmp_context
  type snmp_context (line 150) | struct snmp_context

FILE: freebsd-headers/bsnmp/snmpclient.h
  type snmp_pdu (line 56) | struct snmp_pdu
  type snmp_pdu (line 56) | struct snmp_pdu
  type timeval (line 62) | struct timeval
  type snmp_client (line 71) | struct snmp_client {
  type snmp_client (line 116) | struct snmp_client
  type snmp_client (line 119) | struct snmp_client
  type snmp_client (line 122) | struct snmp_client
  type snmp_client (line 123) | struct snmp_client
  type snmp_pdu (line 133) | struct snmp_pdu
  type snmp_pdu (line 136) | struct snmp_pdu
  type snmp_pdu (line 139) | struct snmp_pdu
  type snmp_pdu (line 139) | struct snmp_pdu
  type snmp_pdu (line 141) | struct snmp_pdu
  type asn_oid (line 144) | struct asn_oid
  type snmp_table (line 154) | struct snmp_table {
  type snmp_table (line 188) | struct snmp_table
  type snmp_table (line 189) | struct snmp_table
  type snmp_pdu (line 193) | struct snmp_pdu
  type snmp_pdu (line 193) | struct snmp_pdu
  type snmp_client (line 199) | struct snmp_client

FILE: freebsd-headers/bsnmp/snmpmod.h
  type lmodule (line 218) | struct lmodule
  type snmpd_proxy_err (line 234) | enum snmpd_proxy_err {
  type snmpd_input_err (line 250) | enum snmpd_input_err {
  type snmp_module (line 271) | struct snmp_module {
  type systemg (line 313) | struct systemg {
  type systemg (line 322) | struct systemg
  type lmodule (line 335) | struct lmodule
  type snmpd_usmstat (line 344) | struct snmpd_usmstat {
  type snmpd_usmstat (line 353) | struct snmpd_usmstat
  type snmpd_usmstat (line 354) | struct snmpd_usmstat
  type usm_user (line 357) | struct usm_user {
  type usm_user (line 369) | struct usm_user
  type usm_user (line 370) | struct usm_user
  type usm_user (line 370) | struct usm_user
  type usm_user (line 371) | struct usm_user
  type usm_user (line 372) | struct usm_user
  type usm_user (line 373) | struct usm_user
  type usm_user (line 377) | struct usm_user
  type vacm_group (line 382) | struct vacm_group
  type vacm_user (line 384) | struct vacm_user {
  type vacm_group (line 398) | struct vacm_group {
  type vacm_access (line 406) | struct vacm_access {
  type vacm_view (line 423) | struct vacm_view {
  type vacm_context (line 435) | struct vacm_context {
  type vacm_user (line 445) | struct vacm_user
  type vacm_user (line 446) | struct vacm_user
  type vacm_user (line 446) | struct vacm_user
  type vacm_user (line 447) | struct vacm_user
  type vacm_user (line 448) | struct vacm_user
  type vacm_user (line 449) | struct vacm_user
  type vacm_access (line 450) | struct vacm_access
  type vacm_access (line 451) | struct vacm_access
  type vacm_access (line 451) | struct vacm_access
  type vacm_access (line 452) | struct vacm_access
  type vacm_access (line 453) | struct vacm_access
  type vacm_view (line 454) | struct vacm_view
  type vacm_view (line 455) | struct vacm_view
  type vacm_view (line 455) | struct vacm_view
  type vacm_view (line 456) | struct vacm_view
  type asn_oid (line 456) | struct asn_oid
  type vacm_view (line 457) | struct vacm_view
  type vacm_context (line 458) | struct vacm_context
  type vacm_context (line 459) | struct vacm_context
  type vacm_context (line 459) | struct vacm_context
  type vacm_context (line 460) | struct vacm_context
  type snmpd_target_stats (line 467) | struct snmpd_target_stats {
  type target_address (line 475) | struct target_address {
  type target_param (line 490) | struct target_param {
  type target_notify (line 503) | struct target_notify {
  type snmpd_target_stats (line 514) | struct snmpd_target_stats
  type snmpd_target_stats (line 515) | struct snmpd_target_stats
  type target_address (line 516) | struct target_address
  type target_address (line 517) | struct target_address
  type target_address (line 517) | struct target_address
  type target_address (line 518) | struct target_address
  type target_address (line 519) | struct target_address
  type target_address (line 520) | struct target_address
  type target_param (line 521) | struct target_param
  type target_param (line 522) | struct target_param
  type target_param (line 522) | struct target_param
  type target_param (line 523) | struct target_param
  type target_param (line 524) | struct target_param
  type target_notify (line 525) | struct target_notify
  type target_notify (line 526) | struct target_notify
  type target_notify (line 526) | struct target_notify
  type target_notify (line 527) | struct target_notify
  type target_notify (line 528) | struct target_notify
  type asn_oid (line 534) | struct asn_oid
  type asn_oid (line 537) | struct asn_oid
  type asn_oid (line 538) | struct asn_oid
  type lmodule (line 546) | struct lmodule
  type lmodule (line 555) | struct lmodule
  type lmodule (line 557) | struct lmodule
  type lmodule (line 563) | struct lmodule
  type asn_oid (line 571) | struct asn_oid
  type lmodule (line 571) | struct lmodule
  type snmpd_input_err (line 581) | enum snmpd_input_err
  type snmp_pdu (line 582) | struct snmp_pdu
  type snmpd_input_err (line 585) | enum snmpd_input_err
  type snmp_pdu (line 585) | struct snmp_pdu
  type snmpd_input_err (line 586) | enum snmpd_input_err
  type snmp_pdu (line 589) | struct snmp_pdu
  type asn_oid (line 590) | struct asn_oid
  type snmp_pdu (line 590) | struct snmp_pdu
  type sockaddr (line 591) | struct sockaddr
  type snmp_code (line 592) | enum snmp_code
  type snmp_pdu (line 592) | struct snmp_pdu
  type asn_oid (line 595) | struct asn_oid
  type snmp_value (line 600) | struct snmp_value
  type snmp_context (line 600) | struct snmp_context
  type snmp_context (line 601) | struct snmp_context
  type snmp_context (line 602) | struct snmp_context
  type snmp_value (line 603) | struct snmp_value
  type snmp_value (line 604) | struct snmp_value
  type snmp_context (line 605) | struct snmp_context
  type snmp_value (line 607) | struct snmp_value
  type snmp_context (line 607) | struct snmp_context
  type snmp_context (line 608) | struct snmp_context
  type snmp_context (line 609) | struct snmp_context
  type snmp_value (line 610) | struct snmp_value
  type snmp_value (line 612) | struct snmp_value
  type snmp_context (line 612) | struct snmp_context
  type asn_oid (line 612) | struct asn_oid
  type snmp_context (line 613) | struct snmp_context
  type asn_oid (line 613) | struct asn_oid
  type snmp_context (line 614) | struct snmp_context
  type snmp_value (line 615) | struct snmp_value
  type asn_oid (line 615) | struct asn_oid
  type asn_oid (line 617) | struct asn_oid
  type asn_oid (line 618) | struct asn_oid
  type asn_oid (line 618) | struct asn_oid
  type asn_oid (line 619) | struct asn_oid
  type asn_oid (line 619) | struct asn_oid
  type asn_oid (line 621) | struct asn_oid
  type asn_oid (line 621) | struct asn_oid
  type asn_oid (line 622) | struct asn_oid
  type asn_oid (line 622) | struct asn_oid

FILE: freebsd-headers/bzlib.h
  type bz_stream (line 48) | typedef
  type BZFILE (line 137) | typedef void BZFILE;

FILE: freebsd-headers/c++/4.2/backward/bvector.h
  type std (line 62) | typedef std::vector<bool, std::allocator<bool> > bit_vector;

FILE: freebsd-headers/c++/4.2/backward/complex.h
  type complex (line 35) | typedef complex<float>		float_complex;
  type complex (line 36) | typedef complex<double>		double_complex;
  type long_double_complex (line 37) | typedef complex<long double>	long_double_complex;

FILE: freebsd-headers/c++/4.2/backward/defalloc.h
  function _Tp (line 68) | _Tp* allocate(ptrdiff_t __size, _Tp*) {
  function deallocate (line 80) | void deallocate(_Tp* __buffer) {
  type _Tp (line 88) | typedef _Tp* pointer;
  type _Tp (line 89) | typedef const _Tp* const_pointer;
  type _Tp (line 90) | typedef _Tp& reference;
  type _Tp (line 91) | typedef const _Tp& const_reference;
  type size_type (line 92) | typedef size_t size_type;
  type difference_type (line 93) | typedef ptrdiff_t difference_type;
  function pointer (line 94) | pointer allocate(size_type __n) {
  function deallocate (line 97) | void deallocate(pointer __p) { ::deallocate(__p); }
  function pointer (line 98) | pointer address(reference __x) { return (pointer)&__x; }
  function const_pointer (line 99) | const_pointer const_address(const_reference __x) {
  function size_type (line 102) | size_type init_page_size() {
  function class (line 110) | class allocator<void> {

FILE: freebsd-headers/c++/4.2/backward/iterator.h
  type input_iterator_tag (line 87) | typedef input_iterator_tag iterator_category;
  type _Tp (line 88) | typedef _Tp                value_type;
  type _Distance (line 89) | typedef _Distance          difference_type;
  type _Tp (line 90) | typedef _Tp*               pointer;
  type _Tp (line 91) | typedef _Tp&               reference;
  type output_iterator (line 94) | struct output_iterator {
  type forward_iterator_tag (line 104) | typedef forward_iterator_tag iterator_category;
  type _Tp (line 105) | typedef _Tp                  value_type;
  type _Distance (line 106) | typedef _Distance            difference_type;
  type _Tp (line 107) | typedef _Tp*                 pointer;
  type _Tp (line 108) | typedef _Tp&                 reference;
  type bidirectional_iterator_tag (line 113) | typedef bidirectional_iterator_tag iterator_category;
  type _Tp (line 114) | typedef _Tp                        value_type;
  type _Distance (line 115) | typedef _Distance                  difference_type;
  type _Tp (line 116) | typedef _Tp*                       pointer;
  type _Tp (line 117) | typedef _Tp&                       reference;
  type random_access_iterator_tag (line 122) | typedef random_access_iterator_tag iterator_category;
  type _Tp (line 123) | typedef _Tp                        value_type;
  type _Distance (line 124) | typedef _Distance                  difference_type;
  type _Tp (line 125) | typedef _Tp*                       pointer;
  type _Tp (line 126) | typedef _Tp&                       reference;
  function construct (line 164) | void
  function construct (line 169) | void
  function destroy (line 174) | void
  function destroy (line 179) | void

FILE: freebsd-headers/c++/4.2/bits/allocator.h
  type difference_type (line 68) | typedef ptrdiff_t   difference_type;
  type value_type (line 71) | typedef void        value_type;
  type allocator (line 75) | typedef allocator<_Tp1> other;
  type difference_type (line 89) | typedef ptrdiff_t  difference_type;
  type _Tp (line 90) | typedef _Tp*       pointer;
  type _Tp (line 91) | typedef const _Tp* const_pointer;
  type _Tp (line 92) | typedef _Tp&       reference;
  type _Tp (line 93) | typedef const _Tp& const_reference;
  type _Tp (line 94) | typedef _Tp        value_type;
  type allocator (line 98) | typedef allocator<_Tp1> other;

FILE: freebsd-headers/c++/4.2/bits/atomic_word.h
  type _Atomic_word (line 37) | typedef int _Atomic_word;

FILE: freebsd-headers/c++/4.2/bits/basic_ios.h
  type typename (line 66) | typedef typename _Traits::int_type             int_type;
  type typename (line 67) | typedef typename _Traits::pos_type             pos_type;
  type typename (line 68) | typedef typename _Traits::off_type             off_type;
  type _Traits (line 69) | typedef _Traits                                traits_type;
  type ctype (line 78) | typedef ctype<_CharT>                          __ctype_type;
  type num_put (line 79) | typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
  type num_get (line 81) | typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
  function setstate (line 142) | void
  function _M_setstate (line 149) | void
  function exceptions (line 242) | void
  function virtual (line 267) | virtual
  function char_type (line 375) | char_type

FILE: freebsd-headers/c++/4.2/bits/basic_string.h
  type typename (line 118) | typedef typename _Traits::char_type		    value_type;
  type _Alloc (line 119) | typedef _Alloc					    allocator_type;
  type typename (line 120) | typedef typename _CharT_alloc_type::size_type	    size_type;
  type typename (line 121) | typedef typename _CharT_alloc_type::difference_type   difference_type;
  type typename (line 122) | typedef typename _CharT_alloc_type::reference	    reference;
  type typename (line 123) | typedef typename _CharT_alloc_type::const_reference   const_reference;
  type typename (line 124) | typedef typename _CharT_alloc_type::pointer	    pointer;
  type typename (line 125) | typedef typename _CharT_alloc_type::const_pointer	    const_pointer;
  type __gnu_cxx (line 126) | typedef __gnu_cxx::__normal_iterator<pointer, basic_string>  iterator;
  type __gnu_cxx (line 127) | typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
  type std (line 129) | typedef std::reverse_iterator<const_iterator>	const_reverse_iterator;
  type std (line 130) | typedef std::reverse_iterator<iterator>		    reverse_iterator;
  type _Rep_base (line 147) | struct _Rep_base
  function _Rep_base (line 154) | struct _Rep : _Rep_base
  function iterator (line 1095) | iterator
  function iterator (line 1135) | iterator
  function iterator (line 1155) | iterator
  type typename (line 1378) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function _CharT (line 1449) | _CharT*
  function _CharT (line 1458) | _CharT*
  function _CharT (line 1465) | _CharT*
  function _CharT (line 1521) | const _CharT*
  function _CharT (line 1531) | const _CharT*
  function size_type (line 1610) | size_type
  function size_type (line 1638) | size_type
  function size_type (line 1729) | size_type
  function size_type (line 1757) | size_type
  function size_type (line 1776) | size_type
  function size_type (line 1849) | size_type
  function size_type (line 1878) | size_type
  function compare (line 1928) | int
  type typename (line 2127) | typedef typename __string_type::size_type		__size_type;

FILE: freebsd-headers/c++/4.2/bits/boost_concept_check.h
  function __function_requires (line 61) | void __function_requires()
  type _Tp (line 111) | typedef _Tp _Type;
  function __constraints (line 116) | void __constraints() {
  function __constraints (line 123) | void __constraints() {
  function short (line 127) | struct _IntegerConcept<short> { void __constraints() {} }
  function unsigned (line 128) | struct _IntegerConcept<unsigned short> { void __constraints(){} }
  function int (line 129) | struct _IntegerConcept<int> { void __constraints() {} }
  function unsigned (line 130) | struct _IntegerConcept<unsigned int> { void __constraints() {} }
  function long (line 131) | struct _IntegerConcept<long> { void __constraints() {} }
  function unsigned (line 132) | struct _IntegerConcept<unsigned long> { void __constraints() {} }
  type _IntegerConcept (line 133) | struct _IntegerConcept
  function __constraints (line 133) | void __constraints() {}
  type _IntegerConcept (line 134) | struct _IntegerConcept
  function __constraints (line 135) | void __constraints() {}
  function __constraints (line 139) | void __constraints() {
  function short (line 143) | struct _SignedIntegerConcept<short> { void __constraints() {} }
  function int (line 144) | struct _SignedIntegerConcept<int> { void __constraints() {} }
  function long (line 145) | struct _SignedIntegerConcept<long> { void __constraints() {} }
  type _SignedIntegerConcept (line 146) | struct _SignedIntegerConcept
  function __constraints (line 146) | void __constraints(){}
  function __constraints (line 150) | void __constraints() {
  function unsigned (line 154) | struct _UnsignedIntegerConcept<unsigned short>
  function unsigned (line 156) | struct _UnsignedIntegerConcept<unsigned int>
  function unsigned (line 158) | struct _UnsignedIntegerConcept<unsigned long>
  type _UnsignedIntegerConcept (line 160) | struct _UnsignedIntegerConcept
  function __constraints (line 161) | void __constraints() {}
  function __constraints (line 169) | void __constraints() {
  function __constraints (line 177) | void __constraints() {
  function __const_constraints (line 181) | void __const_constraints(const _Tp& __b) {
  function __constraints (line 192) | void __constraints() {
  function __const_constraints (line 197) | void __const_constraints(const _Tp& __a) {
  function __constraints (line 208) | void __constraints() {
  function __const_constraints (line 213) | void __const_constraints(const _Tp& __b) {
  function __constraints (line 223) | void __constraints() {
  function __constraints (line 247) | void __constraints() {
  function __constraints (line 256) | void __constraints() {
  function __constraints (line 266) | void __constraints() {
  function __constraints (line 319) | void __constraints() {
  function __constraints (line 329) | void __constraints() {
  function __constraints (line 338) | void __constraints() {
  function __constraints (line 358) | void __constraints() {
  function __constraints (line 381) | void __constraints() {
  function __constraints (line 391) | void __constraints() {
  function __constraints (line 402) | void __constraints() {
  function __const_constraints (line 405) | void __const_constraints(const _Func& __fun) {
  function __constraints (line 421) | void __constraints() {
  function __constraints (line 434) | void __constraints() {
  function __constraints (line 444) | void __constraints() {
  function __constraints (line 464) | void __constraints() {
  function __constraints (line 477) | void __constraints() {
  function __constraints (line 492) | void __constraints() {
  function __constraints (line 502) | void __constraints() {
  function __constraints (line 516) | void __constraints() {
  function __constraints (line 528) | void __constraints() {
  function __constraints (line 553) | void __constraints() {
  type typename (line 568) | typedef typename _Container::value_type _Value_type;
  type typename (line 569) | typedef typename _Container::difference_type _Difference_type;
  type typename (line 570) | typedef typename _Container::size_type _Size_type;
  type typename (line 571) | typedef typename _Container::const_reference _Const_reference;
  type typename (line 572) | typedef typename _Container::const_pointer _Const_pointer;
  type typename (line 573) | typedef typename _Container::const_iterator _Const_iterator;
  function __constraints (line 575) | void __constraints() {
  type typename (line 593) | typedef typename _Container::value_type _Value_type;
  type typename (line 594) | typedef typename _Container::reference _Reference;
  type typename (line 595) | typedef typename _Container::iterator _Iterator;
  type typename (line 596) | typedef typename _Container::pointer _Pointer;
  function __constraints (line 598) | void __constraints() {
  function __constraints (line 614) | void __constraints() {
  function __constraints (line 624) | void __constraints() {
  type typename (line 635) | typedef typename _ReversibleContainer::const_iterator _Const_iterator;
  type typename (line 636) | typedef typename _ReversibleContainer::const_reverse_iterator
  function __constraints (line 639) | void __constraints() {
  type typename (line 654) | typedef typename _ReversibleContainer::iterator _Iterator;
  type typename (line 655) | typedef typename _ReversibleContainer::reverse_iterator _Reverse_iterator;
  function __constraints (line 657) | void __constraints() {
  type typename (line 674) | typedef typename _RandomAccessContainer::size_type _Size_type;
  type typename (line 675) | typedef typename _RandomAccessContainer::const_reference _Const_reference;
  type typename (line 676) | typedef typename _RandomAccessContainer::const_iterator _Const_iterator;
  type typename (line 677) | typedef typename _RandomAccessContainer::const_reverse_iterator
  function __constraints (line 680) | void __constraints() {
  type typename (line 696) | typedef typename _RandomAccessContainer::size_type _Size_type;
  type typename (line 697) | typedef typename _RandomAccessContainer::reference _Reference;
  type typename (line 698) | typedef typename _RandomAccessContainer::iterator _Iterator;
  type typename (line 699) | typedef typename _RandomAccessContainer::reverse_iterator _Reverse_itera...
  function __constraints (line 701) | void __constraints() {
  type typename (line 720) | typedef typename _Sequence::reference _Reference;
  type typename (line 721) | typedef typename _Sequence::const_reference _Const_reference;
  function __constraints (line 723) | void __constraints() {
  function __const_constraints (line 745) | void __const_constraints(const _Sequence& __c) {
  function __constraints (line 757) | void __constraints() {
  type typename (line 770) | typedef typename _BackInsertionSequence::reference _Reference;
  type typename (line 771) | typedef typename _BackInsertionSequence::const_reference _Const_reference;
  function __constraints (line 773) | void __constraints() {
  function __const_constraints (line 780) | void __const_constraints(const _BackInsertionSequence& __c) {
  function __constraints (line 790) | void __constraints() {
  function __const_constraints (line 802) | void __const_constraints(const _AssociativeContainer& __c) {
  type typename (line 807) | typedef typename _AssociativeContainer::iterator _Iterator;
  type typename (line 808) | typedef typename _AssociativeContainer::const_iterator _Const_iterator;
  function __constraints (line 822) | void __constraints() {
  function __constraints (line 839) | void __constraints() {
  function __constraints (line 857) | void __constraints() {
  function __constraints (line 870) | void __constraints() {
  function __constraints (line 885) | void __constraints() {
  function __const_constraints (line 902) | void __const_constraints(const _SortedAssociativeContainer& __c) {
  type typename (line 914) | typedef typename _SortedAssociativeContainer::iterator _Iterator;
  type typename (line 915) | typedef typename _SortedAssociativeContainer::const_iterator

FILE: freebsd-headers/c++/4.2/bits/c++config.h
  function namespace (line 89) | namespace std
  function namespace (line 96) | namespace __gnu_cxx
  function namespace (line 102) | namespace std
  function namespace (line 114) | namespace std
  function namespace (line 121) | namespace __gnu_cxx
  function namespace (line 154) | namespace __gnu_cxx_ldbl128 { }

FILE: freebsd-headers/c++/4.2/bits/c++io.h
  type FILE (line 50) | typedef FILE __c_file;

FILE: freebsd-headers/c++/4.2/bits/c++locale.h
  function __convert_from_v (line 62) | inline int

FILE: freebsd-headers/c++/4.2/bits/char_traits.h
  function _Char_types (line 49) | _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
  type _CharT (line 89) | typedef _CharT                                    char_type;
  type typename (line 90) | typedef typename _Char_types<_CharT>::int_type    int_type;
  type typename (line 91) | typedef typename _Char_types<_CharT>::pos_type    pos_type;
  type typename (line 92) | typedef typename _Char_types<_CharT>::off_type    off_type;
  type typename (line 93) | typedef typename _Char_types<_CharT>::state_type  state_type;
  function assign (line 95) | static void
  function eq (line 99) | static bool
  function lt (line 103) | static bool
  function char_type (line 125) | static char_type
  function int_type (line 129) | static int_type
  function eq_int_type (line 133) | static bool
  function int_type (line 137) | static int_type
  function int_type (line 141) | static int_type
  function _GLIBCXX_END_NAMESPACE (line 208) | _GLIBCXX_END_NAMESPACE
  function wchar_t (line 302) | struct char_traits<wchar_t>

FILE: freebsd-headers/c++/4.2/bits/codecvt.h
  function codecvt_base (line 47) | _GLIBCXX_BEGIN_NAMESPACE(std)
  type _InternT (line 78) | typedef _InternT			intern_type;
  type _ExternT (line 79) | typedef _ExternT			extern_type;
  type _StateT (line 80) | typedef _StateT			state_type;
  function result (line 119) | result
  function result (line 158) | result
  function result (line 199) | result
  function encoding (line 209) | int
  function virtual (line 230) | virtual

FILE: freebsd-headers/c++/4.2/bits/cpp_type_traits.h
  function _GLIBCXX_END_NAMESPACE (line 79) | _GLIBCXX_END_NAMESPACE
  type __true_type (line 97) | struct __true_type { }
  type __false_type (line 98) | struct __false_type { }
  type __false_type (line 102) | typedef __false_type __type;
  type __truth_type (line 105) | struct __truth_type
  type __true_type (line 106) | typedef __true_type __type;
  type typename (line 114) | typedef typename __truth_type<__value>::__type __type;
  type __false_type (line 122) | typedef __false_type __type;
  type __true_type (line 129) | typedef __true_type __type;
  type __false_type (line 137) | typedef __false_type __type;
  function void (line 141) | struct __is_void<void>
  type __false_type (line 154) | typedef __false_type __type;
  function bool (line 161) | struct __is_integer<bool>
  function char (line 168) | struct __is_integer<char>
  function signed (line 175) | struct __is_integer<signed char>
  function unsigned (line 182) | struct __is_integer<unsigned char>
  function wchar_t (line 190) | struct __is_integer<wchar_t>
  function short (line 198) | struct __is_integer<short>
  function unsigned (line 205) | struct __is_integer<unsigned short>
  function int (line 212) | struct __is_integer<int>
  function unsigned (line 219) | struct __is_integer<unsigned int>
  function long (line 226) | struct __is_integer<long>
  function unsigned (line 233) | struct __is_integer<unsigned long>
  type __is_integer (line 240) | struct __is_integer
  type __true_type (line 243) | typedef __true_type __type;
  type __is_integer (line 247) | struct __is_integer
  type __true_type (line 250) | typedef __true_type __type;
  type __false_type (line 260) | typedef __false_type __type;
  function float (line 265) | struct __is_floating<float>
  function double (line 272) | struct __is_floating<double>
  type __is_floating (line 279) | struct __is_floating
  type __true_type (line 282) | typedef __true_type __type;
  type __false_type (line 292) | typedef __false_type __type;
  type __true_type (line 299) | typedef __true_type __type;
  type __false_type (line 309) | typedef __false_type __type;
  type __true_type (line 317) | typedef __true_type __type;
  type __false_type (line 382) | typedef __false_type __type;
  function char (line 386) | struct __is_char<char>
  function wchar_t (line 394) | struct __is_char<wchar_t>

FILE: freebsd-headers/c++/4.2/bits/ctype_base.h
  function ctype_base (line 38) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/ctype_inline.h
  function do_is (line 116) | inline bool
  function wchar_t (line 123) | inline const wchar_t*
  function wchar_t (line 133) | inline const wchar_t*
  function wchar_t (line 142) | inline const wchar_t*

FILE: freebsd-headers/c++/4.2/bits/ctype_noninline.h
  function do_toupper (line 68) | char
  function do_tolower (line 83) | char

FILE: freebsd-headers/c++/4.2/bits/cxxabi_tweaks.h
  function namespace (line 38) | namespace __cxxabiv1

FILE: freebsd-headers/c++/4.2/bits/gslice.h
  function gslice (line 43) | _GLIBCXX_BEGIN_NAMESPACE(std)
  function gslice (line 139) | inline gslice::gslice () : _M_index(0) {}

FILE: freebsd-headers/c++/4.2/bits/gslice_array.h
  function gslice_array (line 43) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/gthr-default.h
  type pthread_key_t (line 46) | typedef pthread_key_t __gthread_key_t;
  type pthread_once_t (line 47) | typedef pthread_once_t __gthread_once_t;
  type pthread_mutex_t (line 48) | typedef pthread_mutex_t __gthread_mutex_t;
  type pthread_mutex_t (line 49) | typedef pthread_mutex_t __gthread_recursive_mutex_t;
  function __gthread_trigger (line 164) | static void
  function __gthread_active_p (line 170) | static inline int
  function __gthread_active_p (line 205) | static inline int
  function __gthread_active_p (line 217) | static inline int
  function __gthread_objc_init_thread_system (line 244) | static inline int
  function __gthread_objc_close_thread_system (line 266) | static inline int
  function objc_thread_t (line 280) | static inline objc_thread_t
  function __gthread_objc_thread_set_priority (line 298) | static inline int
  function __gthread_objc_thread_get_priority (line 341) | static inline int
  function __gthread_objc_thread_yield (line 363) | static inline void
  function __gthread_objc_thread_exit (line 371) | static inline int
  function objc_thread_t (line 383) | static inline objc_thread_t
  function __gthread_objc_thread_set_data (line 393) | static inline int
  function __gthread_objc_mutex_allocate (line 418) | static inline int
  function __gthread_objc_mutex_deallocate (line 437) | static inline int
  function __gthread_objc_mutex_lock (line 467) | static inline int
  function __gthread_objc_mutex_trylock (line 480) | static inline int
  function __gthread_objc_mutex_unlock (line 493) | static inline int
  function __gthread_objc_condition_allocate (line 508) | static inline int
  function __gthread_objc_condition_deallocate (line 527) | static inline int
  function __gthread_objc_condition_wait (line 542) | static inline int
  function __gthread_objc_condition_broadcast (line 553) | static inline int
  function __gthread_objc_condition_signal (line 563) | static inline int
  function __gthread_once (line 574) | static inline int
  function __gthread_key_create (line 583) | static inline int
  function __gthread_key_delete (line 589) | static inline int
  function __gthread_setspecific (line 601) | static inline int
  function __gthread_mutex_lock (line 607) | static inline int
  function __gthread_mutex_trylock (line 616) | static inline int
  function __gthread_mutex_unlock (line 625) | static inline int
  function __gthread_recursive_mutex_init_function (line 635) | static inline int
  function __gthread_recursive_mutex_lock (line 656) | static inline int
  function __gthread_recursive_mutex_trylock (line 662) | static inline int
  function __gthread_recursive_mutex_unlock (line 668) | static inline int

FILE: freebsd-headers/c++/4.2/bits/gthr-posix.h
  type pthread_key_t (line 46) | typedef pthread_key_t __gthread_key_t;
  type pthread_once_t (line 47) | typedef pthread_once_t __gthread_once_t;
  type pthread_mutex_t (line 48) | typedef pthread_mutex_t __gthread_mutex_t;
  type pthread_mutex_t (line 49) | typedef pthread_mutex_t __gthread_recursive_mutex_t;
  function __gthread_trigger (line 164) | static void
  function __gthread_active_p (line 170) | static inline int
  function __gthread_active_p (line 205) | static inline int
  function __gthread_active_p (line 217) | static inline int
  function __gthread_objc_init_thread_system (line 244) | static inline int
  function __gthread_objc_close_thread_system (line 266) | static inline int
  function objc_thread_t (line 280) | static inline objc_thread_t
  function __gthread_objc_thread_set_priority (line 298) | static inline int
  function __gthread_objc_thread_get_priority (line 341) | static inline int
  function __gthread_objc_thread_yield (line 363) | static inline void
  function __gthread_objc_thread_exit (line 371) | static inline int
  function objc_thread_t (line 383) | static inline objc_thread_t
  function __gthread_objc_thread_set_data (line 393) | static inline int
  function __gthread_objc_mutex_allocate (line 418) | static inline int
  function __gthread_objc_mutex_deallocate (line 437) | static inline int
  function __gthread_objc_mutex_lock (line 467) | static inline int
  function __gthread_objc_mutex_trylock (line 480) | static inline int
  function __gthread_objc_mutex_unlock (line 493) | static inline int
  function __gthread_objc_condition_allocate (line 508) | static inline int
  function __gthread_objc_condition_deallocate (line 527) | static inline int
  function __gthread_objc_condition_wait (line 542) | static inline int
  function __gthread_objc_condition_broadcast (line 553) | static inline int
  function __gthread_objc_condition_signal (line 563) | static inline int
  function __gthread_once (line 574) | static inline int
  function __gthread_key_create (line 583) | static inline int
  function __gthread_key_delete (line 589) | static inline int
  function __gthread_setspecific (line 601) | static inline int
  function __gthread_mutex_lock (line 607) | static inline int
  function __gthread_mutex_trylock (line 616) | static inline int
  function __gthread_mutex_unlock (line 625) | static inline int
  function __gthread_recursive_mutex_init_function (line 635) | static inline int
  function __gthread_recursive_mutex_lock (line 656) | static inline int
  function __gthread_recursive_mutex_trylock (line 662) | static inline int
  function __gthread_recursive_mutex_unlock (line 668) | static inline int

FILE: freebsd-headers/c++/4.2/bits/gthr-single.h
  type __gthread_mutex_t (line 34) | typedef int __gthread_mutex_t;
  type __gthread_recursive_mutex_t (line 35) | typedef int __gthread_recursive_mutex_t;
  function __gthread_objc_init_thread_system (line 53) | static inline int
  function __gthread_objc_close_thread_system (line 61) | static inline int
  function objc_thread_t (line 71) | static inline objc_thread_t
  function __gthread_objc_thread_set_priority (line 79) | static inline int
  function __gthread_objc_thread_get_priority (line 87) | static inline int
  function __gthread_objc_thread_yield (line 94) | static inline void
  function __gthread_objc_thread_exit (line 101) | static inline int
  function objc_thread_t (line 111) | static inline objc_thread_t
  function __gthread_objc_thread_set_data (line 119) | static inline int
  function __gthread_objc_mutex_allocate (line 136) | static inline int
  function __gthread_objc_mutex_deallocate (line 143) | static inline int
  function __gthread_objc_mutex_lock (line 150) | static inline int
  function __gthread_objc_mutex_trylock (line 158) | static inline int
  function __gthread_objc_mutex_unlock (line 166) | static inline int
  function __gthread_objc_condition_allocate (line 175) | static inline int
  function __gthread_objc_condition_deallocate (line 182) | static inline int
  function __gthread_objc_condition_wait (line 189) | static inline int
  function __gthread_objc_condition_broadcast (line 197) | static inline int
  function __gthread_objc_condition_signal (line 204) | static inline int
  function __gthread_active_p (line 212) | static inline int
  function __gthread_mutex_lock (line 218) | static inline int
  function __gthread_mutex_trylock (line 224) | static inline int
  function __gthread_mutex_unlock (line 230) | static inline int
  function __gthread_recursive_mutex_lock (line 236) | static inline int
  function __gthread_recursive_mutex_trylock (line 242) | static inline int
  function __gthread_recursive_mutex_unlock (line 248) | static inline int

FILE: freebsd-headers/c++/4.2/bits/gthr-tpf.h
  type pthread_key_t (line 46) | typedef pthread_key_t __gthread_key_t;
  type pthread_once_t (line 47) | typedef pthread_once_t __gthread_once_t;
  type pthread_mutex_t (line 48) | typedef pthread_mutex_t __gthread_mutex_t;
  type pthread_mutex_t (line 49) | typedef pthread_mutex_t __gthread_recursive_mutex_t;
  function __gthread_trigger (line 164) | static void
  function __gthread_active_p (line 170) | static inline int
  function __gthread_active_p (line 205) | static inline int
  function __gthread_active_p (line 217) | static inline int
  function __gthread_objc_init_thread_system (line 244) | static inline int
  function __gthread_objc_close_thread_system (line 266) | static inline int
  function objc_thread_t (line 280) | static inline objc_thread_t
  function __gthread_objc_thread_set_priority (line 298) | static inline int
  function __gthread_objc_thread_get_priority (line 341) | static inline int
  function __gthread_objc_thread_yield (line 363) | static inline void
  function __gthread_objc_thread_exit (line 371) | static inline int
  function objc_thread_t (line 383) | static inline objc_thread_t
  function __gthread_objc_thread_set_data (line 393) | static inline int
  function __gthread_objc_mutex_allocate (line 418) | static inline int
  function __gthread_objc_mutex_deallocate (line 437) | static inline int
  function __gthread_objc_mutex_lock (line 467) | static inline int
  function __gthread_objc_mutex_trylock (line 480) | static inline int
  function __gthread_objc_mutex_unlock (line 493) | static inline int
  function __gthread_objc_condition_allocate (line 508) | static inline int
  function __gthread_objc_condition_deallocate (line 527) | static inline int
  function __gthread_objc_condition_wait (line 542) | static inline int
  function __gthread_objc_condition_broadcast (line 553) | static inline int
  function __gthread_objc_condition_signal (line 563) | static inline int
  function __gthread_once (line 574) | static inline int
  function __gthread_key_create (line 583) | static inline int
  function __gthread_key_delete (line 589) | static inline int
  function __gthread_setspecific (line 601) | static inline int
  function __gthread_mutex_lock (line 607) | static inline int
  function __gthread_mutex_trylock (line 616) | static inline int
  function __gthread_mutex_unlock (line 625) | static inline int
  function __gthread_recursive_mutex_init_function (line 635) | static inline int
  function __gthread_recursive_mutex_lock (line 656) | static inline int
  function __gthread_recursive_mutex_trylock (line 662) | static inline int
  function __gthread_recursive_mutex_unlock (line 668) | static inline int

FILE: freebsd-headers/c++/4.2/bits/indirect_array.h
  function indirect_array (line 43) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/ios_base.h
  function _Ios_Fmtflags (line 49) | _GLIBCXX_BEGIN_NAMESPACE(std)
  type _Ios_Openmode (line 107) | enum _Ios_Openmode
  type _Ios_Iostate (line 147) | enum _Ios_Iostate
  type _Ios_Seekdir (line 184) | enum _Ios_Seekdir
  function class (line 201) | class ios_base
  type _Words (line 496) | struct _Words
  function fmtflags (line 557) | inline fmtflags
  function fmtflags (line 573) | inline fmtflags
  function fmtflags (line 590) | inline fmtflags
  function unsetf (line 605) | inline void
  function streamsize (line 625) | inline streamsize
  function streamsize (line 647) | inline streamsize
  function locale (line 699) | inline const locale&

FILE: freebsd-headers/c++/4.2/bits/locale_classes.h
  function locale (line 50) | _GLIBCXX_BEGIN_NAMESPACE(std)
  function class (line 342) | class locale::facet
  function _M_remove_reference (line 404) | inline void
  function class (line 433) | class locale::id
  function class (line 472) | class locale::_Impl

FILE: freebsd-headers/c++/4.2/bits/locale_facets.h
  function _OutIter (line 123) | _OutIter
  function is (line 163) | bool
  function char_type (line 180) | const char_type*
  function char_type (line 196) | const char_type*
  function char_type (line 212) | const char_type*
  function char_type (line 226) | char_type
  function char_type (line 241) | const char_type*
  function char_type (line 255) | char_type
  function char_type (line 270) | const char_type*
  function char_type (line 287) | char_type
  function narrow (line 325) | char
  function char_type (line 347) | const char_type*
  function virtual (line 356) | virtual
  type typename (line 612) | typedef typename __ctype_abstract_base<_CharT>::mask mask;
  function char_type (line 796) | char_type
  function char_type (line 813) | const char_type*
  function char_type (line 829) | char_type
  function char_type (line 846) | const char_type*
  function char_type (line 866) | char_type
  function narrow (line 924) | char
  function char_type (line 957) | const char_type*
  function virtual (line 1074) | virtual char_type
  function virtual (line 1097) | virtual const char*
  function virtual (line 1123) | virtual char
  function virtual (line 1149) | virtual const char_type*
  function _M_narrow_init (line 1175) | void _M_narrow_init() const
  type wctype_t (line 1220) | typedef wctype_t		__wmask_type;
  function __num_base (line 1538) | _GLIBCXX_BEGIN_NAMESPACE(std)
  type basic_string (line 1669) | typedef basic_string<_CharT>	string_type;
  type __numpunct_cache (line 1671) | typedef __numpunct_cache<_CharT>  __cache_type;
  type basic_string (line 1898) | typedef basic_string<_CharT>	string_type;
  type _InIter (line 1939) | typedef _InIter			iter_type;
  function iter_type (line 1978) | iter_type
  function iter_type (line 2014) | iter_type
  function iter_type (line 2019) | iter_type
  function iter_type (line 2024) | iter_type
  function iter_type (line 2029) | iter_type
  function iter_type (line 2035) | iter_type
  function iter_type (line 2040) | iter_type
  function iter_type (line 2073) | iter_type
  function iter_type (line 2078) | iter_type
  function iter_type (line 2083) | iter_type
  function iter_type (line 2115) | iter_type
  type _OutIter (line 2270) | typedef _OutIter		iter_type;
  function iter_type (line 2301) | iter_type
  function iter_type (line 2343) | iter_type
  function iter_type (line 2347) | iter_type
  function iter_type (line 2353) | iter_type
  function iter_type (line 2357) | iter_type
  function iter_type (line 2406) | iter_type
  function iter_type (line 2410) | iter_type
  function iter_type (line 2431) | iter_type
  type basic_string (line 2544) | typedef basic_string<_CharT>	string_type;
  function compare (line 2594) | int
  function string_type (line 2613) | string_type
  function hash (line 2627) | long
  type basic_string (line 2719) | typedef basic_string<_CharT> string_type;
  function _M_time_formats (line 2920) | void
  function _M_date_time_formats (line 2928) | void
  function _M_am_pm_format (line 2936) | void
  function _M_am_pm (line 2940) | void
  function _M_days (line 2947) | void
  function _M_days_abbreviated (line 2959) | void
  function _M_months (line 2971) | void
  function _M_months_abbreviated (line 2988) | void
  type _InIter (line 3064) | typedef _InIter			iter_type;
  type basic_string (line 3066) | typedef basic_string<_CharT>	__string_type;
  function iter_type (line 3119) | iter_type
  function iter_type (line 3144) | iter_type
  function iter_type (line 3172) | iter_type
  function iter_type (line 3201) | iter_type
  function iter_type (line 3227) | iter_type
  type _InIter (line 3375) | typedef _InIter			iter_type;
  type _OutIter (line 3405) | typedef _OutIter			iter_type;
  type _OutIter (line 3499) | typedef _OutIter			iter_type;
  function class (line 3522) | class money_base
  type basic_string (line 4006) | typedef basic_string<_CharT>	string_type;
  type _InIter (line 4052) | typedef _InIter			iter_type;
  type basic_string (line 4053) | typedef basic_string<_CharT>	string_type;
  function iter_type (line 4096) | iter_type
  function iter_type (line 4126) | iter_type
  type _OutIter (line 4200) | typedef _OutIter			iter_type;
  type basic_string (line 4201) | typedef basic_string<_CharT>	string_type;
  function iter_type (line 4234) | iter_type
  function iter_type (line 4256) | iter_type
  function _GLIBCXX_END_LDBL_NAMESPACE (line 4333) | _GLIBCXX_END_LDBL_NAMESPACE
  type basic_string (line 4371) | typedef basic_string<_CharT>	string_type;
  function catalog (line 4418) | catalog
  function string_type (line 4454) | string_type
  function close (line 4465) | void
  function virtual (line 4512) | virtual void
  type basic_string (line 4585) | typedef basic_string<_CharT>	string_type;

FILE: freebsd-headers/c++/4.2/bits/mask_array.h
  function mask_array (line 43) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/messages_members.h
  function messages (line 41) | _GLIBCXX_BEGIN_NAMESPACE(std)
  function facet (line 51) | facet(__refs)

FILE: freebsd-headers/c++/4.2/bits/ostream_insert.h
  type typename (line 50) | typedef typename __ostream_type::ios_base    __ios_base;
  type basic_ostream (line 61) | typedef basic_ostream<_CharT, _Traits>       __ostream_type;
  type typename (line 62) | typedef typename __ostream_type::ios_base    __ios_base;
  type basic_ostream (line 81) | typedef basic_ostream<_CharT, _Traits>       __ostream_type;
  type typename (line 82) | typedef typename __ostream_type::ios_base    __ios_base;

FILE: freebsd-headers/c++/4.2/bits/postypes.h
  type streamoff (line 72) | typedef int64_t       streamoff;
  type streamoff (line 74) | typedef long long     streamoff;
  type streamsize (line 78) | typedef ptrdiff_t	streamsize;
  function state (line 123) | void
  type fpos (line 211) | typedef fpos<mbstate_t> streampos;
  type fpos (line 213) | typedef fpos<mbstate_t> wstreampos;

FILE: freebsd-headers/c++/4.2/bits/slice_array.h
  function slice (line 43) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/stl_algo.h
  function __median (line 71) | _GLIBCXX_BEGIN_NAMESPACE(std)
  function _InputIterator (line 169) | _InputIterator
  function _InputIterator (line 184) | _InputIterator
  type typename (line 669) | typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
  type typename (line 795) | typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
  type typename (line 2222) | typedef typename iterator_traits<_ForwardIterator>::value_type
  type typename (line 2224) | typedef typename iterator_traits<_ForwardIterator>::difference_type
  type typename (line 2419) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2496) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2580) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2618) | typedef typename iterator_traits<_InputIterator>::value_type
  type typename (line 2620) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2622) | typedef typename iterator_traits<_RandomAccessIterator>::difference_type
  type typename (line 2684) | typedef typename iterator_traits<_InputIterator>::value_type
  type typename (line 2686) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2688) | typedef typename iterator_traits<_RandomAccessIterator>::difference_type
  type typename (line 2739) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2775) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2854) | typedef typename iterator_traits<_RandomAccessIterator>::value_type
  type typename (line 2887) | typedef typename iterator_traits<_ForwardIterator>::value_type
  type typename (line 2889) | typedef typename iterator_traits<_ForwardIterator>::difference_type
  type typename (line 2937) | typedef typename iterator_traits<_ForwardIterator>::value_type
  type typename (line 2939) | typedef typename iterator_traits<_ForwardIterator>::difference_type
  type typename (line 2984) | typedef typename iterator_traits<_ForwardIterator>::value_type
  type typename (line 2986) | typedef typename iterator_traits<_ForwardIterator>::difference_type
  type typename (line 3034) | typedef typename iterator_traits<_ForwardIterator>::value_type
  type typename (line 3036) | typedef typename iterator_traits<_ForwardIterator>::difference_type
  type typename (line 3234) | typedef typename iterator_traits<_InputIterator1>::value_type
  type typename (line 3236) | typedef typename iterator_traits<_InputIterator2>::value_type
  type typename (line 3295) | typedef typename iterator_traits<_InputIterator1>::value_type
  type typename (line 3297) | typedef typename iterator_traits<_InputIterator2>::value_type
  type typename (line 3415) | typedef typename iterator_traits<_RandomAccessIterator>::difference_type
  type typename (line 3439) | typedef typename iterator_traits<_RandomAccessIterator>::difference_type

FILE: freebsd-headers/c++/4.2/bits/stl_algobase.h
  function swap (line 80) | _GLIBCXX_BEGIN_NAMESPACE(std)
  function iter_swap (line 110) | void
  type __iter_swap (line 122) | struct __iter_swap
  function iter_swap (line 125) | void
  type typename (line 145) | typedef typename iterator_traits<_ForwardIterator1>::value_type
  type typename (line 147) | typedef typename iterator_traits<_ForwardIterator2>::value_type
  function _OI (line 264) | _OI
  type typename (line 280) | typedef typename iterator_traits<_II>::difference_type _Distance;
  function _OI (line 338) | _OI
  function _BI2 (line 415) | _BI2
  type typename (line 455) | typedef typename iterator_traits<_BI1>::value_type _ValueType1;
  type typename (line 456) | typedef typename iterator_traits<_BI2>::value_type _ValueType2;
  type typename (line 457) | typedef typename iterator_traits<_BI1>::iterator_category _Category;
  function _BI2 (line 472) | _BI2
  function _OutputIterator (line 623) | _OutputIterator
  function _OutputIterator (line 636) | _OutputIterator

FILE: freebsd-headers/c++/4.2/bits/stl_bvector.h
  type _Bit_type (line 67) | typedef unsigned long _Bit_type;
  type _Bit_reference (line 70) | struct _Bit_reference
  function __x (line 101) | bool
  function flip (line 105) | void
  type _Bit_iterator_base (line 110) | struct _Bit_iterator_base
  function _M_bump_up (line 119) | void
  function _M_bump_down (line 129) | void
  function _M_incr (line 139) | void
  function __i (line 153) | bool
  function __i (line 157) | bool
  function __i (line 164) | bool
  function __i (line 168) | bool
  function __i (line 172) | bool
  function __i (line 176) | bool
  function _Bit_iterator_base (line 188) | struct _Bit_iterator : public _Bit_iterator_base
  function reference (line 261) | reference
  function _Bit_iterator_base (line 270) | struct _Bit_const_iterator : public _Bit_iterator_base
  function const_reference (line 347) | const_reference
  function __fill_bvector (line 356) | inline void
  function fill (line 363) | inline void
  type typename (line 379) | typedef typename _Alloc::template
  function _Bit_alloc_type (line 382) | struct _Bvector_impl
  function allocator_type (line 404) | allocator_type
  function _Bit_type (line 416) | _Bit_type*
  function _M_deallocate (line 421) | void
  type size_type (line 462) | typedef size_t                                       size_type;
  type difference_type (line 463) | typedef ptrdiff_t                                    difference_type;
  type _Bit_reference (line 464) | typedef _Bit_reference                               reference;
  type const_reference (line 465) | typedef bool                                         const_reference;
  type _Bit_reference (line 466) | typedef _Bit_reference*                              pointer;
  type _Bit_iterator (line 468) | typedef _Bit_iterator                                iterator;
  type _Bit_const_iterator (line 469) | typedef _Bit_const_iterator                          const_iterator;
  type std (line 470) | typedef std::reverse_iterator<const_iterator>        const_reverse_itera...
  type std (line 471) | typedef std::reverse_iterator<iterator>              reverse_iterator;
  type _Alloc (line 472) | typedef _Alloc                        		 allocator_type;
  function allocator_type (line 474) | allocator_type get_allocator() const
  function _Base (line 490) | _Base(__a)
  function _Base (line 497) | vector(const vector& __x)
  function _Base (line 507) | _Base(__a)
  function assign (line 534) | void
  type typename (line 542) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function iterator (line 546) | iterator
  function iterator (line 554) | iterator
  function reverse_iterator (line 562) | reverse_iterator
  function const_reverse_iterator (line 566) | const_reverse_iterator
  function const_reverse_iterator (line 574) | const_reverse_iterator
  function size_type (line 582) | size_type
  function reference (line 599) | reference
  function const_reference (line 606) | const_reference
  function const_reference (line 626) | const_reference
  function reserve (line 630) | void
  function reference (line 647) | reference
  function reference (line 655) | reference
  function data (line 668) | void
  function push_back (line 671) | void
  function swap (line 680) | void
  function swap (line 695) | static void
  type typename (line 720) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function insert (line 724) | void
  function pop_back (line 728) | void
  function iterator (line 732) | iterator
  function iterator (line 741) | iterator
  function resize (line 748) | void
  function flip (line 757) | void
  function clear (line 765) | void
  function _M_initialize (line 781) | void
  function _M_fill_assign (line 839) | void
  function _M_fill_insert (line 902) | void
  function _M_insert_aux (line 977) | void
  function _M_erase_at_end (line 1004) | void

FILE: freebsd-headers/c++/4.2/bits/stl_construct.h
  function __destroy_aux (line 117) | void
  function __destroy_aux (line 135) | void
  function _Destroy (line 147) | void
  function _Destroy (line 178) | void

FILE: freebsd-headers/c++/4.2/bits/stl_deque.h
  function __deque_buf_size (line 83) | inline size_t
  type _Deque_iterator (line 104) | typedef _Deque_iterator<_Tp, _Tp&, _Tp*>             iterator;
  type _Deque_iterator (line 105) | typedef _Deque_iterator<_Tp, const
  function _S_buffer_size (line 107) | static size_t _S_buffer_size()
  type std (line 110) | typedef std::random_access_iterator_tag iterator_category;
  type _Tp (line 111) | typedef _Tp                             value_type;
  type _Ptr (line 112) | typedef _Ptr                            pointer;
  type _Ref (line 113) | typedef _Ref                            reference;
  type size_type (line 114) | typedef size_t                          size_type;
  type difference_type (line 115) | typedef ptrdiff_t                       difference_type;
  type _Tp (line 116) | typedef _Tp**                           _Map_pointer;
  type _Deque_iterator (line 117) | typedef _Deque_iterator                 _Self;
  function pointer (line 138) | pointer
  function reference (line 219) | reference
  function _M_set_node (line 229) | void
  function allocator_type (line 376) | allocator_type
  type typename (line 399) | typedef typename _Alloc::template
  function _Tp_alloc_type (line 401) | struct _Deque_impl
  function _Map_alloc_type (line 423) | _Map_alloc_type
  function _M_deallocate_node (line 433) | void
  function _Tp (line 439) | _Tp**
  function _M_deallocate_map (line 443) | void
  type typename (line 632) | typedef typename _Alloc::value_type        _Alloc_value_type;
  type typename (line 637) | typedef typename _Base::_Tp_alloc_type	 _Tp_alloc_type;
  type typename (line 641) | typedef typename _Tp_alloc_type::pointer           pointer;
  type typename (line 642) | typedef typename _Tp_alloc_type::const_pointer     const_pointer;
  type typename (line 643) | typedef typename _Tp_alloc_type::reference         reference;
  type typename (line 644) | typedef typename _Tp_alloc_type::const_reference   const_reference;
  type typename (line 645) | typedef typename _Base::iterator                   iterator;
  type typename (line 646) | typedef typename _Base::const_iterator             const_iterator;
  type std (line 647) | typedef std::reverse_iterator<const_iterator>      const_reverse_iterator;
  type std (line 648) | typedef std::reverse_iterator<iterator>            reverse_iterator;
  type size_type (line 649) | typedef size_t                             size_type;
  type difference_type (line 650) | typedef ptrdiff_t                          difference_type;
  type _Alloc (line 651) | typedef _Alloc                             allocator_type;
  function _S_buffer_size (line 656) | static size_t _S_buffer_size()
  function _Base (line 706) | deque(const deque& __x)
  function _Base (line 729) | _Base(__a)
  function assign (line 764) | void
  type typename (line 784) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function allocator_type (line 789) | allocator_type
  function iterator (line 815) | iterator
  function reverse_iterator (line 833) | reverse_iterator
  function reverse_iterator (line 851) | reverse_iterator
  function resize (line 886) | void
  function reference (line 916) | reference
  function const_reference (line 931) | const_reference
  function const_reference (line 974) | const_reference
  function reference (line 985) | reference
  function reference (line 1001) | reference
  function push_front (line 1031) | void
  function push_back (line 1052) | void
  function pop_front (line 1073) | void
  function pop_back (line 1094) | void
  function insert (line 1128) | void
  type typename (line 1148) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function swap (line 1196) | void
  function clear (line 1216) | void
  type typename (line 1238) | typedef typename std::iterator_traits<_InputIterator>::
  type typename (line 1302) | typedef typename std::iterator_traits<_InputIterator>::
  function _M_fill_assign (line 1333) | void
  type typename (line 1383) | typedef typename std::iterator_traits<_InputIterator>::
  function _M_destroy_data_dispatch (line 1427) | void
  function _M_destroy_data_dispatch (line 1430) | void
  type typename (line 1445) | typedef typename std::__is_scalar<value_type>::__type
  function _M_erase_at_end (line 1461) | void
  function iterator (line 1477) | iterator
  function iterator (line 1487) | iterator

FILE: freebsd-headers/c++/4.2/bits/stl_function.h
  type _Result (line 107) | typedef _Result result_type;
  type _Arg1 (line 116) | typedef _Arg1 first_argument_type;
  type _Arg2 (line 119) | typedef _Arg2 second_argument_type;
  type _Result (line 120) | typedef _Result result_type;
  function _Tp (line 181) | _Tp
  function const (line 321) | bool
  function const (line 346) | bool
  function typename (line 404) | typename _Operation::result_type
  function typename (line 410) | typename _Operation::result_type
  type typename (line 420) | typedef typename _Operation::first_argument_type _Arg1_type;
  function typename (line 438) | typename _Operation::result_type
  function typename (line 444) | typename _Operation::result_type
  type typename (line 454) | typedef typename _Operation::second_argument_type _Arg2_type;
  function explicit (line 488) | explicit
  function _Result (line 492) | _Result
  function explicit (line 513) | explicit
  function _Result (line 517) | _Result
  function _Tp (line 536) | const _Tp&
  function typename (line 549) | const typename _Pair::first_type&
  function typename (line 562) | const typename _Pair::second_type&
  function _Ret (line 590) | _Ret
  function _Ret (line 622) | _Ret
  function explicit (line 682) | explicit
  function _Ret (line 686) | _Ret
  function _Ret (line 702) | _Ret

FILE: freebsd-headers/c++/4.2/bits/stl_heap.h
  function push_heap (line 140) | void
  function make_heap (line 383) | void

FILE: freebsd-headers/c++/4.2/bits/stl_iterator.h
  type typename (line 106) | typedef typename iterator_traits<_Iterator>::difference_type
  type typename (line 108) | typedef typename iterator_traits<_Iterator>::reference   reference;
  type typename (line 109) | typedef typename iterator_traits<_Iterator>::pointer     pointer;
  function explicit (line 123) | explicit
  function current (line 129) | reverse_iterator(const reverse_iterator& __x)
  function reference (line 152) | reference
  function pointer (line 164) | pointer
  function reference (line 265) | reference
  function explicit (line 396) | explicit
  function explicit (line 471) | explicit front_insert_iterator(_Container& __x) : container(&__x) { }
  function _GLIBCXX_END_NAMESPACE (line 622) | _GLIBCXX_END_NAMESPACE
  function explicit (line 652) | explicit
  function reference (line 664) | reference
  function pointer (line 668) | pointer
  function reference (line 696) | reference

FILE: freebsd-headers/c++/4.2/bits/stl_iterator_base_types.h
  function input_iterator_tag (line 69) | _GLIBCXX_BEGIN_NAMESPACE(std)
  type output_iterator_tag (line 82) | struct output_iterator_tag {}
  function input_iterator_tag (line 84) | struct forward_iterator_tag : public input_iterator_tag {}
  function forward_iterator_tag (line 87) | struct bidirectional_iterator_tag : public forward_iterator_tag {}
  function bidirectional_iterator_tag (line 90) | struct random_access_iterator_tag : public bidirectional_iterator_tag {}
  type _Category (line 109) | typedef _Category  iterator_category;
  type _Tp (line 111) | typedef _Tp        value_type;
  type _Distance (line 113) | typedef _Distance  difference_type;
  type _Pointer (line 115) | typedef _Pointer   pointer;
  type _Reference (line 117) | typedef _Reference reference;
  type typename (line 129) | typedef typename _Iterator::iterator_category iterator_category;
  type typename (line 130) | typedef typename _Iterator::value_type        value_type;
  type typename (line 131) | typedef typename _Iterator::difference_type   difference_type;
  type typename (line 132) | typedef typename _Iterator::pointer           pointer;
  type typename (line 133) | typedef typename _Iterator::reference         reference;
  type random_access_iterator_tag (line 139) | typedef random_access_iterator_tag iterator_category;
  type _Tp (line 140) | typedef _Tp                         value_type;
  type difference_type (line 141) | typedef ptrdiff_t                   difference_type;
  type _Tp (line 142) | typedef _Tp*                        pointer;
  type _Tp (line 143) | typedef _Tp&                        reference;
  type random_access_iterator_tag (line 149) | typedef random_access_iterator_tag iterator_category;
  type _Tp (line 150) | typedef _Tp                         value_type;
  type difference_type (line 151) | typedef ptrdiff_t                   difference_type;
  type _Tp (line 152) | typedef const _Tp*                  pointer;
  type _Tp (line 153) | typedef const _Tp&                  reference;

FILE: freebsd-headers/c++/4.2/bits/stl_list.h
  type _List_node_base (line 75) | struct _List_node_base
  type _List_iterator (line 114) | typedef _List_iterator<_Tp>                _Self;
  type _List_node (line 115) | typedef _List_node<_Tp>                    _Node;
  type difference_type (line 117) | typedef ptrdiff_t                          difference_type;
  type std (line 118) | typedef std::bidirectional_iterator_tag    iterator_category;
  type _Tp (line 119) | typedef _Tp                                value_type;
  type _Tp (line 120) | typedef _Tp*                               pointer;
  type _Tp (line 121) | typedef _Tp&                               reference;
  function explicit (line 126) | explicit
  function reference (line 131) | reference
  function pointer (line 135) | pointer
  function operator (line 173) | bool
  type _List_const_iterator (line 191) | typedef _List_const_iterator<_Tp>          _Self;
  type _List_node (line 192) | typedef const _List_node<_Tp>              _Node;
  type _List_iterator (line 193) | typedef _List_iterator<_Tp>                iterator;
  type difference_type (line 195) | typedef ptrdiff_t                          difference_type;
  type std (line 196) | typedef std::bidirectional_iterator_tag    iterator_category;
  type _Tp (line 197) | typedef _Tp                                value_type;
  type _Tp (line 198) | typedef const _Tp*                         pointer;
  type _Tp (line 199) | typedef const _Tp&                         reference;
  function explicit (line 204) | explicit
  function _M_node (line 208) | _List_const_iterator(const iterator& __x)
  function reference (line 213) | reference
  function pointer (line 217) | pointer
  function operator (line 255) | bool
  type typename (line 301) | typedef typename _Alloc::template
  function _Node_alloc_type (line 303) | struct _List_impl
  function _M_put_node (line 319) | void
  function _Tp_alloc_type (line 334) | _Tp_alloc_type
  function _M_impl (line 342) | _List_base(const allocator_type& __a)
  function _M_init (line 353) | void
  type typename (line 410) | typedef typename _Alloc::value_type                _Alloc_value_type;
  type typename (line 415) | typedef typename _Base::_Tp_alloc_type		 _Tp_alloc_type;
  type typename (line 419) | typedef typename _Tp_alloc_type::pointer           pointer;
  type typename (line 420) | typedef typename _Tp_alloc_type::const_pointer     const_pointer;
  type typename (line 421) | typedef typename _Tp_alloc_type::reference         reference;
  type typename (line 422) | typedef typename _Tp_alloc_type::const_reference   const_reference;
  type _List_iterator (line 423) | typedef _List_iterator<_Tp>                        iterator;
  type _List_const_iterator (line 424) | typedef _List_const_iterator<_Tp>                  const_iterator;
  type std (line 425) | typedef std::reverse_iterator<const_iterator>      const_reverse_iterator;
  type std (line 426) | typedef std::reverse_iterator<iterator>            reverse_iterator;
  type size_type (line 427) | typedef size_t                                     size_type;
  type difference_type (line 428) | typedef ptrdiff_t                                  difference_type;
  type _Alloc (line 429) | typedef _Alloc                                     allocator_type;
  function _Node (line 449) | _Node*
  function _Base (line 485) | _Base(__a)
  function _Base (line 495) | list(const list& __x)
  function _Base (line 511) | _Base(__a)
  function assign (line 546) | void
  type typename (line 567) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function allocator_type (line 572) | allocator_type
  function iterator (line 599) | iterator
  function reverse_iterator (line 617) | reverse_iterator
  function const_reverse_iterator (line 626) | const_reverse_iterator
  function const_reverse_iterator (line 644) | const_reverse_iterator
  function size_type (line 658) | size_type
  function reference (line 685) | reference
  function reference (line 701) | reference
  function push_front (line 732) | void
  function pop_front (line 748) | void
  function push_back (line 762) | void
  function pop_back (line 777) | void
  function insert (line 807) | void
  function iterator (line 872) | iterator
  function swap (line 889) | void
  function clear (line 906) | void
  function splice (line 925) | void
  function splice (line 945) | void
  function splice (line 971) | void
  function reverse (line 1074) | void
  function _M_fill_initialize (line 1121) | void
  function _M_transfer (line 1153) | void
  function _M_insert (line 1158) | void
  function _M_erase (line 1166) | void
  function _M_check_equal_allocators (line 1176) | void
  type typename (line 1198) | typedef typename list<_Tp, _Alloc>::const_iterator const_iterator;

FILE: freebsd-headers/c++/4.2/bits/stl_map.h
  type _Tp (line 97) | typedef _Tp                                           mapped_type;
  type std (line 98) | typedef std::pair<const _Key, _Tp>                    value_type;
  type _Compare (line 99) | typedef _Compare                                      key_compare;
  type _Alloc (line 100) | typedef _Alloc                                        allocator_type;
  function comp (line 118) | value_compare(_Compare __c)
  type _Rb_tree (line 131) | typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
  type typename (line 141) | typedef typename _Pair_alloc_type::const_pointer   const_pointer;
  type typename (line 142) | typedef typename _Pair_alloc_type::reference       reference;
  type typename (line 143) | typedef typename _Pair_alloc_type::const_reference const_reference;
  type typename (line 144) | typedef typename _Rep_type::iterator               iterator;
  type typename (line 145) | typedef typename _Rep_type::const_iterator         const_iterator;
  type typename (line 146) | typedef typename _Rep_type::size_type              size_type;
  type typename (line 147) | typedef typename _Rep_type::difference_type        difference_type;
  type typename (line 148) | typedef typename _Rep_type::reverse_iterator       reverse_iterator;
  type typename (line 149) | typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
  function _M_t (line 175) | map(const map& __x)
  function iterator (line 243) | iterator
  function iterator (line 261) | iterator
  function reverse_iterator (line 279) | reverse_iterator
  function reverse_iterator (line 297) | reverse_iterator
  function mapped_type (line 372) | const mapped_type&
  function iterator (line 425) | iterator
  function erase (line 452) | void
  function size_type (line 467) | size_type
  function erase (line 482) | void
  function swap (line 497) | void
  function clear (line 507) | void
  function iterator (line 540) | iterator
  function const_iterator (line 555) | const_iterator
  function size_type (line 567) | size_type
  function iterator (line 582) | iterator
  function const_iterator (line 597) | const_iterator
  function iterator (line 607) | iterator
  function const_iterator (line 617) | const_iterator

FILE: freebsd-headers/c++/4.2/bits/stl_multimap.h
  type _Tp (line 96) | typedef _Tp                                           mapped_type;
  type std (line 97) | typedef std::pair<const _Key, _Tp>                    value_type;
  type _Compare (line 98) | typedef _Compare                                      key_compare;
  type _Alloc (line 99) | typedef _Alloc                                        allocator_type;
  function comp (line 117) | value_compare(_Compare __c)
  type _Rb_tree (line 130) | typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
  type typename (line 139) | typedef typename _Pair_alloc_type::const_pointer   const_pointer;
  type typename (line 140) | typedef typename _Pair_alloc_type::reference       reference;
  type typename (line 141) | typedef typename _Pair_alloc_type::const_reference const_reference;
  type typename (line 142) | typedef typename _Rep_type::iterator               iterator;
  type typename (line 143) | typedef typename _Rep_type::const_iterator         const_iterator;
  type typename (line 144) | typedef typename _Rep_type::size_type              size_type;
  type typename (line 145) | typedef typename _Rep_type::difference_type        difference_type;
  type typename (line 146) | typedef typename _Rep_type::reverse_iterator       reverse_iterator;
  type typename (line 147) | typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
  function explicit (line 161) | explicit
  function _M_t (line 173) | multimap(const multimap& __x)
  function iterator (line 242) | iterator
  function iterator (line 260) | iterator
  function reverse_iterator (line 278) | reverse_iterator
  function reverse_iterator (line 296) | reverse_iterator
  function iterator (line 338) | iterator
  function iterator (line 362) | iterator
  function erase (line 389) | void
  function size_type (line 404) | size_type
  function erase (line 419) | void
  function swap (line 434) | void
  function clear (line 444) | void
  function iterator (line 477) | iterator
  function const_iterator (line 492) | const_iterator
  function size_type (line 501) | size_type
  function iterator (line 516) | iterator
  function const_iterator (line 531) | const_iterator
  function iterator (line 541) | iterator
  function const_iterator (line 551) | const_iterator

FILE: freebsd-headers/c++/4.2/bits/stl_multiset.h
  type _Key (line 102) | typedef _Key     value_type;
  type _Compare (line 103) | typedef _Compare key_compare;
  type _Compare (line 104) | typedef _Compare value_compare;
  type _Alloc (line 105) | typedef _Alloc   allocator_type;
  type _Rb_tree (line 111) | typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
  type typename (line 118) | typedef typename _Key_alloc_type::const_pointer       const_pointer;
  type typename (line 119) | typedef typename _Key_alloc_type::reference           reference;
  type typename (line 120) | typedef typename _Key_alloc_type::const_reference     const_reference;
  type typename (line 124) | typedef typename _Rep_type::const_iterator            iterator;
  type typename (line 125) | typedef typename _Rep_type::const_iterator            const_iterator;
  type typename (line 126) | typedef typename _Rep_type::const_reverse_iterator    reverse_iterator;
  type typename (line 127) | typedef typename _Rep_type::const_reverse_iterator    const_reverse_iter...
  type typename (line 128) | typedef typename _Rep_type::size_type                 size_type;
  type typename (line 129) | typedef typename _Rep_type::difference_type           difference_type;
  function explicit (line 139) | explicit
  function swap (line 277) | void
  function iterator (line 293) | iterator
  function iterator (line 317) | iterator
  function erase (line 344) | void
  function size_type (line 359) | size_type
  function erase (line 374) | void
  function clear (line 384) | void
  function size_type (line 395) | size_type
  function iterator (line 413) | iterator
  function const_iterator (line 417) | const_iterator
  function iterator (line 434) | iterator
  function const_iterator (line 438) | const_iterator
  function iterator (line 450) | iterator
  function const_iterator (line 454) | const_iterator

FILE: freebsd-headers/c++/4.2/bits/stl_numeric.h
  type typename (line 201) | typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
  type typename (line 241) | typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
  type typename (line 277) | typedef typename iterator_traits<_InputIterator>::value_type _ValueType;
  type typename (line 316) | typedef typename iterator_traits<_InputIterator>::value_type _ValueType;

FILE: freebsd-headers/c++/4.2/bits/stl_pair.h
  type _T2 (line 71) | typedef _T2 second_type;

FILE: freebsd-headers/c++/4.2/bits/stl_queue.h
  type typename (line 114) | typedef typename _Sequence::reference                 reference;
  type typename (line 115) | typedef typename _Sequence::const_reference           const_reference;
  type typename (line 116) | typedef typename _Sequence::size_type                 size_type;
  type _Sequence (line 117) | typedef          _Sequence                            container_type;
  function reference (line 153) | reference
  function reference (line 175) | reference
  function push (line 202) | void
  function pop (line 217) | void
  type typename (line 325) | typedef typename _Sequence::value_type _Sequence_value_type;
  type typename (line 335) | typedef typename _Sequence::reference                 reference;
  type typename (line 336) | typedef typename _Sequence::const_reference           const_reference;
  type typename (line 337) | typedef typename _Sequence::size_type                 size_type;
  type _Sequence (line 338) | typedef          _Sequence                            container_type;
  function push (line 412) | void
  function pop (line 430) | void

FILE: freebsd-headers/c++/4.2/bits/stl_relops.h
  function namespace (line 74) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/stl_set.h
  type _Key (line 107) | typedef _Key     value_type;
  type _Compare (line 108) | typedef _Compare key_compare;
  type _Compare (line 109) | typedef _Compare value_compare;
  type _Alloc (line 110) | typedef _Alloc   allocator_type;
  type _Rb_tree (line 116) | typedef _Rb_tree<key_type, value_type, _Identity<value_type>,
  type typename (line 124) | typedef typename _Key_alloc_type::const_pointer       const_pointer;
  type typename (line 125) | typedef typename _Key_alloc_type::reference           reference;
  type typename (line 126) | typedef typename _Key_alloc_type::const_reference     const_reference;
  type typename (line 130) | typedef typename _Rep_type::const_iterator            iterator;
  type typename (line 131) | typedef typename _Rep_type::const_iterator            const_iterator;
  type typename (line 132) | typedef typename _Rep_type::const_reverse_iterator    reverse_iterator;
  type typename (line 133) | typedef typename _Rep_type::const_reverse_iterator    const_reverse_iter...
  type typename (line 134) | typedef typename _Rep_type::size_type                 size_type;
  type typename (line 135) | typedef typename _Rep_type::difference_type           difference_type;
  function explicit (line 149) | explicit
  function swap (line 285) | void
  function iterator (line 330) | iterator
  function erase (line 356) | void
  function size_type (line 371) | size_type
  function erase (line 386) | void
  function clear (line 396) | void
  function size_type (line 410) | size_type
  function iterator (line 428) | iterator
  function const_iterator (line 432) | const_iterator
  function iterator (line 449) | iterator
  function const_iterator (line 453) | const_iterator
  function iterator (line 465) | iterator
  function const_iterator (line 469) | const_iterator

FILE: freebsd-headers/c++/4.2/bits/stl_stack.h
  type typename (line 116) | typedef typename _Sequence::reference                 reference;
  type typename (line 117) | typedef typename _Sequence::const_reference           const_reference;
  type typename (line 118) | typedef typename _Sequence::size_type                 size_type;
  type _Sequence (line 119) | typedef          _Sequence                            container_type;
  function reference (line 150) | reference
  function push (line 177) | void
  function pop (line 192) | void

FILE: freebsd-headers/c++/4.2/bits/stl_tempbuf.h
  type value_type (line 84) | typedef value_type* pointer;
  type pointer (line 85) | typedef pointer     iterator;
  type size_type (line 86) | typedef ptrdiff_t   size_type;
  function _M_initialize_buffer (line 93) | void
  function _M_initialize_buffer (line 96) | void
  function iterator (line 112) | iterator
  function iterator (line 117) | iterator

FILE: freebsd-headers/c++/4.2/bits/stl_tree.h
  function _Rb_tree_color (line 73) | _GLIBCXX_BEGIN_NAMESPACE(std)
  type _Tp (line 154) | typedef _Tp  value_type;
  type _Tp (line 155) | typedef _Tp& reference;
  type _Tp (line 156) | typedef _Tp* pointer;
  type bidirectional_iterator_tag (line 158) | typedef bidirectional_iterator_tag iterator_category;
  type difference_type (line 159) | typedef ptrdiff_t                  difference_type;
  type _Rb_tree_iterator (line 161) | typedef _Rb_tree_iterator<_Tp>        _Self;
  type _Rb_tree_node_base (line 162) | typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
  type _Rb_tree_node (line 163) | typedef _Rb_tree_node<_Tp>*           _Link_type;
  function explicit (line 168) | explicit
  function reference (line 172) | reference
  function pointer (line 176) | pointer
  function operator (line 214) | bool
  type _Tp (line 224) | typedef _Tp        value_type;
  type _Tp (line 225) | typedef const _Tp& reference;
  type _Tp (line 226) | typedef const _Tp* pointer;
  type _Rb_tree_iterator (line 228) | typedef _Rb_tree_iterator<_Tp> iterator;
  type bidirectional_iterator_tag (line 230) | typedef bidirectional_iterator_tag iterator_category;
  type difference_type (line 231) | typedef ptrdiff_t                  difference_type;
  type _Rb_tree_const_iterator (line 233) | typedef _Rb_tree_const_iterator<_Tp>        _Self;
  type _Rb_tree_node_base (line 234) | typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
  type _Rb_tree_node (line 235) | typedef const _Rb_tree_node<_Tp>*           _Link_type;
  function explicit (line 240) | explicit
  function _M_node (line 244) | _Rb_tree_const_iterator(const iterator& __it)
  function reference (line 247) | reference
  function pointer (line 251) | pointer
  function operator (line 289) | bool
  type typename (line 331) | typedef typename _Alloc::template
  type _Rb_tree_node_base (line 336) | typedef const _Rb_tree_node_base* _Const_Base_ptr;
  type _Rb_tree_node (line 337) | typedef _Rb_tree_node<_Val> _Rb_tree_node;
  type _Val (line 341) | typedef _Val value_type;
  type value_type (line 342) | typedef value_type* pointer;
  type value_type (line 343) | typedef const value_type* const_pointer;
  type value_type (line 344) | typedef value_type& reference;
  type value_type (line 345) | typedef const value_type& const_reference;
  type _Rb_tree_node (line 346) | typedef _Rb_tree_node* _Link_type;
  type _Rb_tree_node (line 347) | typedef const _Rb_tree_node* _Const_Link_type;
  type size_type (line 348) | typedef size_t size_type;
  type difference_type (line 349) | typedef ptrdiff_t difference_type;
  type _Alloc (line 350) | typedef _Alloc allocator_type;
  function allocator_type (line 360) | allocator_type
  function _M_put_node (line 369) | void
  function _Link_type (line 373) | _Link_type
  function _Link_type (line 387) | _Link_type
  function _M_destroy_node (line 397) | void
  function _Link_type (line 473) | _Link_type
  function _Link_type (line 484) | _Link_type
  function const_reference (line 492) | static const_reference
  function _Key (line 496) | static const _Key&
  function _Link_type (line 500) | static _Link_type
  function _Const_Link_type (line 504) | static _Const_Link_type
  function _Link_type (line 508) | static _Link_type
  function _Const_Link_type (line 512) | static _Const_Link_type
  function const_reference (line 516) | static const_reference
  function _Key (line 520) | static const _Key&
  function _Base_ptr (line 524) | static _Base_ptr
  function _Const_Base_ptr (line 528) | static _Const_Base_ptr
  function _Base_ptr (line 532) | static _Base_ptr
  function _Const_Base_ptr (line 536) | static _Const_Base_ptr
  type _Rb_tree_const_iterator (line 542) | typedef _Rb_tree_const_iterator<value_type> const_iterator;
  type std (line 544) | typedef std::reverse_iterator<iterator>       reverse_iterator;
  type std (line 545) | typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
  function _M_impl (line 571) | _Rb_tree(const _Compare& __comp)
  function iterator (line 602) | iterator
  function iterator (line 616) | iterator
  function reverse_iterator (line 627) | reverse_iterator
  function const_reverse_iterator (line 631) | const_reverse_iterator
  function const_reverse_iterator (line 639) | const_reverse_iterator
  function clear (line 708) | void
  function else (line 1338) | else

FILE: freebsd-headers/c++/4.2/bits/stl_uninitialized.h
  function _ForwardIterator (line 78) | _ForwardIterator
  function _ForwardIterator (line 107) | _ForwardIterator
  function wchar_t (line 124) | inline wchar_t*
  function __uninitialized_fill_aux (line 135) | void
  function uninitialized_fill (line 169) | void
  function __uninitialized_fill_n_aux (line 181) | void
  function uninitialized_fill_n (line 214) | void
  function _ForwardIterator (line 250) | _ForwardIterator
  function __uninitialized_fill_a (line 275) | void
  function __uninitialized_fill_n_a (line 302) | void
  function _ForwardIterator (line 320) | _ForwardIterator
  function _ForwardIterator (line 347) | _ForwardIterator
  function __uninitialized_copy_fill (line 370) | void

FILE: freebsd-headers/c++/4.2/bits/stl_vector.h
  type typename (line 79) | typedef typename _Alloc::template
  function _Tp_alloc_type (line 81) | struct _Vector_impl
  function allocator_type (line 103) | allocator_type
  function _Tp (line 126) | _Tp*
  function _M_deallocate (line 130) | void
  type typename (line 162) | typedef typename _Alloc::value_type                _Alloc_value_type;
  type vector (line 167) | typedef vector<_Tp, _Alloc>			 vector_type;
  type typename (line 168) | typedef typename _Base::_Tp_alloc_type		 _Tp_alloc_type;
  type typename (line 172) | typedef typename _Tp_alloc_type::pointer           pointer;
  type typename (line 173) | typedef typename _Tp_alloc_type::const_pointer     const_pointer;
  type typename (line 174) | typedef typename _Tp_alloc_type::reference         reference;
  type typename (line 175) | typedef typename _Tp_alloc_type::const_reference   const_reference;
  type __gnu_cxx (line 176) | typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator;
  type __gnu_cxx (line 177) | typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type>
  type std (line 179) | typedef std::reverse_iterator<const_iterator>  const_reverse_iterator;
  type std (line 180) | typedef std::reverse_iterator<iterator>		 reverse_iterator;
  type size_type (line 181) | typedef size_t					 size_type;
  type difference_type (line 182) | typedef ptrdiff_t					 difference_type;
  type _Alloc (line 183) | typedef _Alloc                        		 allocator_type;
  function _Base (line 228) | vector(const vector& __x)
  function _Base (line 254) | _Base(__a)
  function assign (line 292) | void
  type typename (line 313) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function iterator (line 326) | iterator
  function iterator (line 344) | iterator
  function reverse_iterator (line 362) | reverse_iterator
  function const_reverse_iterator (line 371) | const_reverse_iterator
  function const_reverse_iterator (line 389) | const_reverse_iterator
  function resize (line 415) | void
  function reference (line 473) | reference
  function const_reference (line 488) | const_reference
  function const_reference (line 531) | const_reference
  function reference (line 542) | reference
  function reference (line 558) | reference
  function pointer (line 577) | pointer
  function push_back (line 596) | void
  function pop_back (line 617) | void
  function insert (line 651) | void
  type typename (line 675) | typedef typename std::__is_integer<_InputIterator>::__type _Integral;
  function swap (line 727) | void
  function clear (line 747) | void
  type typename (line 798) | typedef typename std::iterator_traits<_InputIterator>::
  type typename (line 847) | typedef typename std::iterator_traits<_InputIterator>::
  type typename (line 888) | typedef typename std::iterator_traits<_InputIterator>::
  function _M_erase_at_end (line 918) | void

FILE: freebsd-headers/c++/4.2/bits/stream_iterator.h
  type _Traits (line 52) | typedef _Traits                        traits_type;
  type basic_istream (line 53) | typedef basic_istream<_CharT, _Traits> istream_type;
  type _CharT (line 158) | typedef _CharT                         char_type;
  type _Traits (line 159) | typedef _Traits                        traits_type;
  type basic_ostream (line 160) | typedef basic_ostream<_CharT, _Traits> ostream_type;

FILE: freebsd-headers/c++/4.2/bits/streambuf_iterator.h
  type _Traits (line 58) | typedef _Traits					traits_type;
  type typename (line 59) | typedef typename _Traits::int_type		int_type;
  type basic_streambuf (line 60) | typedef basic_streambuf<_CharT, _Traits>		streambuf_type;
  type basic_istream (line 61) | typedef basic_istream<_CharT, _Traits>		istream_type;
  function char_type (line 109) | char_type
  function equal (line 158) | bool
  function _M_at_eof (line 185) | bool
  function failed (line 265) | bool
  type istreambuf_iterator (line 328) | typedef istreambuf_iterator<_CharT>                  __is_iterator_type;
  type typename (line 329) | typedef typename __is_iterator_type::traits_type     traits_type;
  type typename (line 330) | typedef typename __is_iterator_type::streambuf_type  streambuf_type;
  type typename (line 331) | typedef typename traits_type::int_type               int_type;
  type istreambuf_iterator (line 363) | typedef istreambuf_iterator<_CharT>                  __is_iterator_type;
  type typename (line 364) | typedef typename __is_iterator_type::traits_type     traits_type;
  type typename (line 365) | typedef typename __is_iterator_type::streambuf_type  streambuf_type;
  type typename (line 366) | typedef typename traits_type::int_type               int_type;

FILE: freebsd-headers/c++/4.2/bits/stringfwd.h
  type char_traits (line 58) | struct char_traits
  type basic_string (line 60) | typedef basic_string<char>    string;
  type char_traits (line 63) | struct char_traits
  type basic_string (line 65) | typedef basic_string<wchar_t> wstring;

FILE: freebsd-headers/c++/4.2/bits/time_members.h
  function _M_data (line 42) | _GLIBCXX_BEGIN_NAMESPACE(std)

FILE: freebsd-headers/c++/4.2/bits/valarray_after.h
  function _GBase (line 43) | _GLIBCXX_BEGIN_NAMESPACE(std)
  function value_type (line 79) | value_type
  type typename (line 97) | typedef typename _Base::value_type value_type;
  type typename (line 108) | typedef typename _Base::value_type value_type;
  function value_type (line 126) | value_type
  type typename (line 144) | typedef typename _Base::value_type value_type;
  type _Tp (line 155) | typedef _Tp value_type;
  function _Clos (line 172) | const _Clos& operator()() const;
  type _UnClos (line 322) | typedef _UnClos<__logical_not, std::_Expr, _Dom> _Closure;
  type _UnClos (line 331) | typedef _UnClos<_Name, std::_Expr, _Dom> _Closure;
  type typename (line 348) | typedef typename _Dom1::value_type _Arg;
  type typename (line 349) | typedef typename __fun<_Name, _Arg>::result_type _Value;
  type _BinClos (line 350) | typedef _BinClos<_Name, _Expr, _Expr, _Dom1, _Dom2> _Closure;
  type typename (line 361) | typedef typename _Dom::value_type _Arg;
  type typename (line 362) | typedef typename __fun<_Name, _Arg>::result_type _Value;
  type _BinClos (line 363) | typedef _BinClos<_Name, _Expr, _Constant, _Dom, _Arg> _Closure;
  type typename (line 374) | typedef typename _Dom::value_type _Arg;
  type typename (line 375) | typedef typename __fun<_Name, _Arg>::result_type _Value;
  type _BinClos (line 376) | typedef _BinClos<_Name, _Constant, _Expr, _Arg, _Dom> _Closure;
  type typename (line 387) | typedef typename _Dom::value_type _Arg;
  type typename (line 388) | typedef typename __fun<_Name, _Arg>::result_type _Value;
  type _BinClos (line 389) | typedef _BinClos<_Name, _Expr, _ValArray, _Dom, _Arg> _Closure;
  type typename (line 400) | typedef typename _Dom::value_type _Tp;
  type typename (line 401) | typedef typename __fun<_Name, _Tp>::result_type _Value;
  type _BinClos (line 402) | typedef _BinClos<_Name, _ValArray, _Expr, _Tp, _Dom> _Closure;

FILE: freebsd-headers/c++/4.2/bits/valarray_array.h
  function _Tp (line 61) | _Tp*__restrict__
  function __valarray_release_memory (line 69) | inline void
  function _S_do_it (line 80) | inline static void
  function _S_do_it (line 92) | inline static void
  function __valarray_default_construct (line 98) | void
  function _S_do_it (line 112) | inline static void
  function _S_do_it (line 123) | inline static void
  function __valarray_fill_construct (line 132) | void
  function _S_do_it (line 148) | inline static void
  function _S_do_it (line 160) | inline static void
  function __valarray_copy_construct (line 167) | void
  function __valarray_copy_construct (line 177) | void
  function __valarray_copy_construct (line 197) | void
  function __valarray_destroy_elements (line 212) | void
  function __valarray_fill (line 225) | void
  function __valarray_fill (line 234) | void
  function __valarray_fill (line 244) | void
  function _S_do_it (line 257) | inline static void
  function _S_do_it (line 268) | inline static void
  function __valarray_copy (line 275) | void
  function __valarray_copy (line 284) | void
  function __valarray_copy (line 294) | void
  function __valarray_copy (line 305) | void
  function __valarray_copy (line 315) | void
  function __valarray_copy (line 326) | void
  function __valarray_copy (line 337) | void
  function _Tp (line 354) | _Tp
  function _Tp (line 365) | _Tp
  function typename (line 377) | typename _Ta::value_type
  function typename (line 393) | typename _Ta::value_type
  function _M_data (line 519) | _M_data (__p) {}

FILE: freebsd-headers/c++/4.2/bits/valarray_before.h
  type __abs (line 67) | struct __abs
  type __cos (line 74) | struct __cos
  type __acos (line 81) | struct __acos
  type __cosh (line 88) | struct __cosh
  type __sin (line 95) | struct __sin
  type __asin (line 102) | struct __asin
  type __sinh (line 109) | struct __sinh
  type __tan (line 116) | struct __tan
  type __atan (line 123) | struct __atan
  type __tanh (line 130) | struct __tanh
  type __exp (line 137) | struct __exp
  type __log (line 144) | struct __log
  type __log10 (line 151) | struct __log10
  type __sqrt (line 158) | struct __sqrt
  type __unary_plus (line 169) | struct __unary_plus
  type __negate (line 176) | struct __negate
  type __bitwise_not (line 183) | struct __bitwise_not
  type __plus (line 190) | struct __plus
  type __minus (line 197) | struct __minus
  type __multiplies (line 204) | struct __multiplies
  type __divides (line 211) | struct __divides
  type __modulus (line 218) | struct __modulus
  type __bitwise_xor (line 225) | struct __bitwise_xor
  type __bitwise_and (line 232) | struct __bitwise_and
  type __bitwise_or (line 239) | struct __bitwise_or
  type __shift_left (line 246) | struct __shift_left
  type __shift_right (line 253) | struct __shift_right
  type __logical_and (line 260) | struct __logical_and
  type __logical_or (line 267) | struct __logical_or
  type __logical_not (line 274) | struct __logical_not
  type __equal_to (line 280) | struct __equal_to
  type __not_equal_to (line 287) | struct __not_equal_to
  type __less (line 294) | struct __less
  type __greater (line 301) | struct __greater
  type __less_equal (line 308) | struct __less_equal
  type __greater_equal (line 315) | struct __greater_equal
  type __atan2 (line 323) | struct __atan2
  type __pow (line 330) | struct __pow
  type _Tp (line 344) | typedef _Tp result_type;
  type result_type (line 351) | typedef bool result_type;
  type result_type (line 357) | typedef bool result_type;
  type result_type (line 363) | typedef bool result_type;
  type result_type (line 369) | typedef bool result_type;
  type result_type (line 375) | typedef bool result_type;
  type result_type (line 381) | typedef bool result_type;
  type result_type (line 387) | typedef bool result_type;
  type result_type (line 393) | typedef bool result_type;
  type result_type (line 399) | typedef bool result_type;
  function value_type (line 415) | value_type operator[](size_t __i) const
  type _FunBase (line 428) | typedef _FunBase<_Dom, typename
  type typename (line 429) | typedef typename _Base::value_type value_type;
  type value_type (line 430) | typedef value_type _Tp;
  type _Tp (line 439) | typedef _Tp value_type;
  function typename (line 446) | typename _Dom::value_type&>
  type _Tp (line 461) | typedef _Tp value_type;
  function _Base (line 463) | __f(const _Tp&))
  type typename (line 476) | typedef typename __fun<_Oper, _Vt>::result_type value_type;
  function _M_expr (line 478) | _UnBase(const _Arg& __e) : _M_expr(__e) {}
  function value_type (line 480) | value_type operator[](size_t __i) const
  type _UnBase (line 494) | typedef _UnBase<_Oper, _Dom> _Base;
  type typename (line 495) | typedef typename _Base::value_type value_type;
  function _Base (line 497) | _UnClos(const _Arg& __e) : _Base(__e) {}
  type _UnBase (line 505) | typedef _UnBase<_Oper, valarray<_Tp> > _Base;
  type typename (line 506) | typedef typename _Base::value_type value_type;
  function _Base (line 508) | _UnClos(const _Arg& __e) : _Base(__e) {}
  type typename (line 521) | typedef typename __fun<_Oper, _Vt>::result_type value_type;
  function value_type (line 526) | value_type operator[](size_t __i) const
  type typename (line 542) | typedef typename __fun<_Oper, _Vt>::result_type value_type;
  function value_type (line 547) | value_type operator[](size_t __i) const
  type typename (line 562) | typedef typename __fun<_Oper, _Vt>::result_type value_type;
  function value_type (line 567) | value_type operator[](size_t __i) const
  type typename (line 582) | typedef typename _Base::value_type value_type;
  type typename (line 592) | typedef typename _Base::value_type value_type;
  type typename (line 602) | typedef typename _Dom::value_type _Tp;
  type _BinBase (line 603) | typedef _BinBase<_Oper,_Dom,valarray<_Tp> > _Base;
  type typename (line 604) | typedef typename _Base::value_type value_type;
  type typename (line 614) | typedef typename _Dom::value_type _Tp;
  type _BinBase (line 615) | typedef _BinBase<_Oper, valarray<_Tp>, _Dom> _Base;
  type typename (line 616) | typedef typename _Base::value_type value_type;
  type _BinBase2 (line 627) | typedef _BinBase2<_Oper,_Dom> _Base;
  type typename (line 628) | typedef typename _Base::value_type value_type;
  type typename (line 637) | typedef typename _Dom::value_type _Tp;
  type _BinBase1 (line 638) | typedef _BinBase1<_Oper, _Dom> _Base;
  type typename (line 639) | typedef typename _Base::value_type value_type;
  type typename (line 649) | typedef typename _Base::value_type value_type;
  type typename (line 659) | typedef typename _Base::value_type value_type;
  function value_type (line 676) | value_type
  function value_type (line 699) | value_type
  type typename (line 718) | typedef typename _Base::value_type value_type;
  type _Tp (line 728) | typedef _Tp value_type;

FILE: freebsd-headers/c++/4.2/cxxabi.h
  function namespace (line 55) | namespace __cxxabiv1
  function namespace (line 157) | namespace __cxxabiv1

FILE: freebsd-headers/c++/4.2/debug/debug.h
  function namespace (line 47) | namespace std
  function namespace (line 52) | namespace __gnu_cxx
  function namespace (line 57) | namespace __gnu_debug
  function namespace (line 87) | namespace std

FILE: freebsd-headers/c++/4.2/debug/formatter.h
  function namespace (line 40) | namespace __gnu_debug
  type _Debug_msg_id (line 67) | enum _Debug_msg_id
  function class (line 120) | class _Error_formatter
  function _Error_formatter (line 348) | const _Error_formatter&

FILE: freebsd-headers/c++/4.2/debug/functions.h
  function namespace (line 43) | namespace __gnu_debug

FILE: freebsd-headers/c++/4.2/debug/hash_map.h
  function namespace (line 41) | namespace __gnu_cxx
  type typename (line 255) | typedef typename _Base::const_iterator _Base_const_iterator;
  type __gnu_debug (line 256) | typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;

FILE: freebsd-headers/c++/4.2/debug/hash_multimap.h
  function namespace (line 41) | namespace __gnu_cxx
  type typename (line 239) | typedef typename _Base::const_iterator _Base_const_iterator;
  type __gnu_debug (line 240) | typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;

FILE: freebsd-headers/c++/4.2/debug/hash_multiset.h
  function namespace (line 41) | namespace __gnu_cxx
  function iterator (line 132) | iterator
  function iterator (line 145) | iterator
  function iterator (line 149) | iterator
  type typename (line 158) | typedef typename _Base::iterator _Base_iterator;
  function size_type (line 165) | size_type
  function erase (line 178) | void
  function erase (line 186) | void
  function clear (line 198) | void
  type typename (line 217) | typedef typename _Base::const_iterator _Base_const_iterator;
  type __gnu_debug (line 218) | typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;

FILE: freebsd-headers/c++/4.2/debug/hash_set.h
  function namespace (line 41) | namespace __gnu_cxx
  type typename (line 230) | typedef typename _Base::const_iterator _Base_const_iterator;
  type __gnu_debug (line 231) | typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;

FILE: freebsd-headers/c++/4.2/debug/map.h
  function namespace (line 42) | namespace std
  type typename (line 284) | typedef typename _Base::const_iterator _Base_const_iterator;
  type __gnu_debug (line 285) | typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;

FILE: freebsd-headers/c++/4.2/debug/multimap.h
  function namespace (line 42) | namespace std
  type typename (line 271) | typedef typename _Base::const_iterator _Base_const_iterator;
  type __gnu_debug (line 272) | typedef __gnu_debug::_Not_equal_to<_Base_const_iterator> _Not_equal;

FILE: freebsd-headers/c++/4.2/debug/multiset.h
  function namespace (line 42) | namespace std

FILE: freebsd-headers/c++/4.2/debug/safe_base.h
  function namespace (line 40) | namespace __gnu_debug
  function _M_attached_to (line 135) | bool _M_attached_to(const _Safe_sequence_base* __seq) const
  function class (line 164) | class _Safe_sequence_base

FILE: freebsd-headers/c++/4.2/debug/safe_iterator.h
  function namespace (line 46) | namespace __gnu_debug
  function reference (line 260) | reference
  function _M_attach (line 321) | void
  function _M_attach_single (line 329) | void
  function _Sequence (line 367) | const _Sequence*
  type typename (line 378) | typedef typename std::iterator_traits<_Iterator1>::iterator_category

FILE: freebsd-headers/c++/4.2/debug/safe_sequence.h
  function namespace (line 43) | namespace __gnu_debug

FILE: freebsd-headers/c++/4.2/debug/set.h
  function namespace (line 42) | namespace std

FILE: freebsd-headers/c++/4.2/ext/array_allocator.h
  type difference_type (line 53) | typedef ptrdiff_t  	difference_type;
  type _Tp (line 54) | typedef _Tp*       	pointer;
  type _Tp (line 55) | typedef const _Tp* 	const_pointer;
  type _Tp (line 56) | typedef _Tp&       	reference;
  type _Tp (line 57) | typedef const _Tp&	const_reference;
  type _Tp (line 58) | typedef _Tp        	value_type;
  function pointer (line 60) | pointer
  function const_pointer (line 63) | const_pointer
  function deallocate (line 66) | void

FILE: freebsd-headers/c++/4.2/ext/atomicity.h
  function _Atomic_word (line 49) | static inline _Atomic_word
  function __atomic_add (line 53) | static inline void
  function _Atomic_word (line 66) | static inline _Atomic_word
  function __atomic_add_single (line 74) | static inline void
  function _Atomic_word (line 78) | static inline _Atomic_word
  function __atomic_add_dispatch (line 92) | static inline void

FILE: freebsd-headers/c++/4.2/ext/bitmap_allocator.h
  function namespace (line 56) | namespace __detail
  function iterator (line 130) | iterator
  function reference (line 142) | reference
  function push_back (line 149) | void
  function pop_back (line 161) | void
  function clear (line 168) | void
  type typename (line 235) | typedef typename _Tp::value_type value_type;
  type typename (line 236) | typedef typename _Tp::difference_type difference_type;
  type _Tp (line 242) | typedef _Tp value_type;
  type difference_type (line 243) | typedef ptrdiff_t difference_type;
  type typename (line 259) | typedef typename __mv_iter_traits<_ForwardIterator>::difference_type
  function _InputIterator (line 284) | _InputIterator
  function __num_blocks (line 296) | size_t
  function __num_bitmaps (line 304) | size_t
  type _Tp (line 313) | typedef _Tp pointer;
  type typename (line 315) | typedef typename std::pair<_Tp, _Tp> _Block_pair;
  function const (line 321) | bool
  type typename (line 342) | typedef typename _Functor::result_type result_type;
  function _M_fref (line 344) | _M_fref(__fref)
  function result_type (line 347) | result_type
  type typename (line 363) | typedef typename std::pair<_Tp, _Tp> _Block_pair;
  type typename (line 364) | typedef typename __detail::__mini_vector<_Block_pair> _BPVector;
  type typename (line 365) | typedef typename _BPVector::difference_type _Counter_type;
  type typename (line 431) | typedef typename __detail::__mini_vector<typename
  type typename (line 433) | typedef typename _BPVector::size_type _Index_type;
  type _Tp (line 434) | typedef _Tp pointer;
  function _M_set_internal_bitmap (line 473) | void
  function _Index_type (line 512) | _Index_type
  function _Bit_scan_forward (line 541) | inline size_t
  function class (line 550) | class free_list
  function _M_validate (line 593) | void
  function _M_should_i_give (line 639) | bool
  type value_type (line 703) | typedef void  value_type;
  type bitmap_allocator (line 707) | typedef bitmap_allocator<_Tp1> other;
  type difference_type (line 716) | typedef ptrdiff_t 		difference_type;
  type _Tp (line 717) | typedef _Tp*        		pointer;
  type _Tp (line 718) | typedef const _Tp*  		const_pointer;
  type _Tp (line 719) | typedef _Tp&        		reference;
  type _Tp (line 720) | typedef const _Tp&  		const_reference;
  type _Tp (line 721) | typedef _Tp         		value_type;
  type free_list (line 722) | typedef free_list::__mutex_type 	__mutex_type;
  type bitmap_allocator (line 727) | typedef bitmap_allocator<_Tp1> other;
  type _Alloc_block (line 741) | struct _Alloc_block
  type typename (line 748) | typedef typename std::pair<_Alloc_block*, _Alloc_block*> _Block_pair;
  type typename (line 750) | typedef typename
  function _S_check_for_free_blocks (line 756) | void
  type typename (line 876) | typedef typename
  type typename (line 879) | typedef typename _BPVector::iterator _BPiter;
  function _M_deallocate_single_object (line 945) | void
  function destroy (line 1096) | void

FILE: freebsd-headers/c++/4.2/ext/codecvt_specializations.h
  function encoding_state (line 55) | _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
  function good (line 128) | bool
  function construct (line 187) | void
  function destroy (line 199) | void
  type encoding_state (line 223) | typedef encoding_state				state_type;
  function _GLIBCXX_END_NAMESPACE (line 227) | _GLIBCXX_END_NAMESPACE

FILE: freebsd-headers/c++/4.2/ext/concurrence.h
  function class (line 70) | class __concurrence_lock_error : public std::exception
  function class (line 78) | class __concurrence_unlock_error : public std::exception
  function __throw_concurrence_lock_error (line 87) | inline void
  function __throw_concurrence_unlock_error (line 97) | inline void
  function class (line 107) | class __mutex
  function class (line 154) | class __recursive_mutex
  function class (line 204) | class __scoped_lock

FILE: freebsd-headers/c++/4.2/ext/debug_allocator.h
  type typename (line 69) | typedef typename _Alloc::difference_type	difference_type;
  type typename (line 70) | typedef typename _Alloc::pointer       	pointer;
  type typename (line 71) | typedef typename _Alloc::const_pointer    const_pointer;
  type typename (line 72) | typedef typename _Alloc::reference       	reference;
  type typename (line 73) | typedef typename _Alloc::const_reference  const_reference;
  type typename (line 74) | typedef typename _Alloc::value_type       value_type;
  function pointer (line 90) | pointer
  function pointer (line 99) | pointer
  function deallocate (line 108) | void

FILE: freebsd-headers/c++/4.2/ext/hash_fun.h
  function __stl_hash_string (line 73) | inline size_t
  function char (line 83) | struct hash<char*>
  function char (line 91) | struct hash<const char*>
  function char (line 99) | struct hash<char>
  function unsigned (line 107) | struct hash<unsigned char>
  function signed (line 115) | struct hash<signed char>
  function short (line 123) | struct hash<short>
  function unsigned (line 131) | struct hash<unsigned short>
  function int (line 139) | struct hash<int>
  function unsigned (line 147) | struct hash<unsigned int>
  function long (line 155) | struct hash<long>
  function unsigned (line 163) | struct hash<unsigned long>

FILE: freebsd-headers/c++/4.2/ext/hashtable.h
  type _Hashtable_iterator (line 112) | typedef _Hashtable_iterator<_Val, _Key, _HashFcn,
  type _Hashtable_const_iterator (line 115) | typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn,
  type _Hashtable_node (line 118) | typedef _Hashtable_node<_Val> _Node;
  type forward_iterator_tag (line 119) | typedef forward_iterator_tag iterator_category;
  type _Val (line 120) | typedef _Val value_type;
  type difference_type (line 121) | typedef ptrdiff_t difference_type;
  type size_type (line 122) | typedef size_t size_type;
  type _Val (line 123) | typedef _Val& reference;
  type _Val (line 124) | typedef _Val* pointer;
  function reference (line 134) | reference
  function pointer (line 138) | pointer
  function __it (line 148) | bool
  function __it (line 152) | bool
  type _Hashtable_iterator (line 163) | typedef _Hashtable_iterator<_Val,_Key,_HashFcn,
  type _Hashtable_const_iterator (line 166) | typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn,
  type _Hashtable_node (line 169) | typedef _Hashtable_node<_Val> _Node;
  type forward_iterator_tag (line 171) | typedef forward_iterator_tag iterator_category;
  type _Val (line 172) | typedef _Val value_type;
  type difference_type (line 173) | typedef ptrdiff_t difference_type;
  type size_type (line 174) | typedef size_t size_type;
  type _Val (line 175) | typedef const _Val& reference;
  type _Val (line 176) | typedef const _Val* pointer;
  function __it (line 203) | bool
  function __it (line 207) | bool
  function __stl_next_prime (line 225) | inline unsigned long
  type _Val (line 259) | typedef _Val value_type;
  type _HashFcn (line 260) | typedef _HashFcn hasher;
  type _EqualKey (line 261) | typedef _EqualKey key_equal;
  type size_type (line 263) | typedef size_t            size_type;
  type difference_type (line 264) | typedef ptrdiff_t         difference_type;
  type value_type (line 265) | typedef value_type*       pointer;
  type value_type (line 266) | typedef const value_type* const_pointer;
  type value_type (line 267) | typedef value_type&       reference;
  type value_type (line 268) | typedef const value_type& const_reference;
  type typename (line 289) | typedef typename _Alloc::template
  type vector (line 290) | typedef vector<_Node*, _Nodeptr_Alloc> _Vector_type;
  function _Node (line 294) | _Node*
  function _M_put_node (line 298) | void
  type _Hashtable_const_iterator (line 313) | typedef _Hashtable_const_iterator<_Val, _Key, _HashFcn, _ExtractKey,
  function swap (line 374) | void
  function iterator (line 384) | iterator
  function iterator (line 393) | iterator
  function size_type (line 425) | size_type
  function iterator (line 441) | iterator
  function iterator (line 507) | iterator
  function const_iterator (line 519) | const_iterator
  function size_type (line 531) | size_type
  function _M_initialize_buckets (line 576) | void
  function size_type (line 585) | size_type
  function size_type (line 589) | size_type
  function size_type (line 593) | size_type
  function size_type (line 597) | size_type
  function _Node (line 601) | _Node*
  function _M_delete_node (line 618) | void
  type typename (line 696) | typedef typename hashtable<_Val, _Key, _HF, _Ex, _Eq, _All>::_Node _Node;

FILE: freebsd-headers/c++/4.2/ext/malloc_allocator.h
  type difference_type (line 58) | typedef ptrdiff_t  difference_type;
  type _Tp (line 59) | typedef _Tp*       pointer;
  type _Tp (line 60) | typedef const _Tp* const_pointer;
  type _Tp (line 61) | typedef _Tp&       reference;
  type _Tp (line 62) | typedef const _Tp& const_reference;
  type _Tp (line 63) | typedef _Tp        value_type;
  type malloc_allocator (line 67) | typedef malloc_allocator<_Tp1> other;
  function throw (line 71) | malloc_allocator(const malloc_allocator&) throw() { }
  function destroy (line 113) | void

FILE: freebsd-headers/c++/4.2/ext/mt_allocator.h
  function _M_check_threshold (line 50) | struct __pool_base
  function _M_get_binmap (line 150) | size_t
  function _M_get_align (line 154) | const size_t
  function explicit (line 158) | explicit
  function _M_get_thread_id (line 229) | size_t
  function _Bin_record (line 232) | const _Bin_record&
  function _M_adjust_freelist (line 236) | void
  function explicit (line 240) | explicit __pool()
  function _S_initialize (line 430) | static void
  function _S_initialize_once (line 434) | static void
  type _Tp (line 474) | typedef _Tp 			value_type;
  type _PoolTp (line 475) | typedef _PoolTp<_Thread> 		pool_type;
  function pool_type (line 477) | static pool_type&
  function _S_initialize_once (line 506) | static void
  function _S_initialize (line 525) | static void
  function _S_initialize_once (line 529) | static void
  type difference_type (line 573) | typedef ptrdiff_t                 difference_type;
  type _Tp (line 574) | typedef _Tp*                      pointer;
  type _Tp (line 575) | typedef const _Tp*                const_pointer;
  type _Tp (line 576) | typedef _Tp&                      reference;
  type _Tp (line 577) | typedef const _Tp&                const_reference;
  type _Tp (line 578) | typedef _Tp                       value_type;
  function pointer (line 580) | pointer
  function const_pointer (line 584) | const_pointer
  function size_type (line 588) | size_type
  function _M_set_options (line 662) | void
  type typename (line 694) | typedef typename __pool_type::_Bin_record _Bin_record;
  type typename (line 699) | typedef typename __pool_type::_Block_record _Block_record;

FILE: freebsd-headers/c++/4.2/ext/new_allocator.h
  type difference_type (line 57) | typedef ptrdiff_t  difference_type;
  type _Tp (line 58) | typedef _Tp*       pointer;
  type _Tp (line 59) | typedef const _Tp* const_pointer;
  type _Tp (line 60) | typedef _Tp&       reference;
  type _Tp (line 61) | typedef const _Tp& const_reference;
  type _Tp (line 62) | typedef _Tp        value_type;
  type new_allocator (line 66) | typedef new_allocator<_Tp1> other;
  function throw (line 70) | new_allocator(const new_allocator&) throw() { }
  function size_type (line 99) | size_type

FILE: freebsd-headers/c++/4.2/ext/pb_ds/assoc_container.hpp
  type pb_ds (line 56) | namespace pb_ds
    class container_base (line 67) | class container_base : public PB_DS_BASE_C_DEC
    class basic_hash_table (line 134) | class basic_hash_table : public PB_DS_BASE_C_DEC
    class cc_hash_table (line 170) | class cc_hash_table :  public PB_DS_BASE_C_DEC
      method cc_hash_table (line 182) | cc_hash_table() { }
      method cc_hash_table (line 186) | cc_hash_table(const hash_fn& h)
      method cc_hash_table (line 193) | cc_hash_table(const hash_fn& h, const eq_fn& e)
      method cc_hash_table (line 201) | cc_hash_table(const hash_fn& h, const eq_fn& e, const comb_hash_fn& ch)
      method cc_hash_table (line 210) | cc_hash_table(const hash_fn& h, const eq_fn& e, const comb_hash_fn& ch,
      method cc_hash_table (line 218) | cc_hash_table(It first, It last)
      method cc_hash_table (line 225) | cc_hash_table(It first, It last, const hash_fn& h)
      method cc_hash_table (line 236) | cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e)
      method cc_hash_table (line 248) | cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
      method cc_hash_table (line 262) | cc_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
      method cc_hash_table (line 267) | cc_hash_table(const cc_hash_table& other)
      method cc_hash_table (line 274) | cc_hash_table&
      method swap (line 285) | void
    class gp_hash_table (line 308) | class gp_hash_table : public PB_DS_BASE_C_DEC
      method gp_hash_table (line 321) | gp_hash_table() { }
      method gp_hash_table (line 325) | gp_hash_table(const hash_fn& h)
      method gp_hash_table (line 332) | gp_hash_table(const hash_fn& h, const eq_fn& e)
      method gp_hash_table (line 340) | gp_hash_table(const hash_fn& h, const eq_fn& e, const comb_probe_fn&...
      method gp_hash_table (line 349) | gp_hash_table(const hash_fn& h, const eq_fn& e, const comb_probe_fn&...
      method gp_hash_table (line 360) | gp_hash_table(const hash_fn& h, const eq_fn& e, const comb_probe_fn&...
      method gp_hash_table (line 368) | gp_hash_table(It first, It last)
      method gp_hash_table (line 376) | gp_hash_table(It first, It last, const hash_fn& h)
      method gp_hash_table (line 387) | gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e)
      method gp_hash_table (line 399) | gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
      method gp_hash_table (line 413) | gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
      method gp_hash_table (line 429) | gp_hash_table(It first, It last, const hash_fn& h, const eq_fn& e,
      method gp_hash_table (line 435) | gp_hash_table(const gp_hash_table& other)
      method gp_hash_table (line 442) | gp_hash_table&
      method swap (line 453) | void
    class basic_tree (line 467) | class basic_tree : public PB_DS_BASE_C_DEC
    class tree (line 500) | class tree : public PB_DS_BASE_C_DEC
      method tree (line 509) | tree() { }
      method tree (line 513) | tree(const cmp_fn& c)
      method tree (line 520) | tree(It first, It last)
      method tree (line 528) | tree(It first, It last, const cmp_fn& c)
      method tree (line 532) | tree(const tree& other)
      method tree (line 538) | tree&
      method swap (line 549) | void
    class trie (line 576) | class trie : public PB_DS_BASE_C_DEC
      method trie (line 585) | trie() { }
      method trie (line 590) | trie(const e_access_traits& t)
      method trie (line 597) | trie(It first, It last)
      method trie (line 604) | trie(It first, It last, const e_access_traits& t)
      method trie (line 608) | trie(const trie& other)
      method trie (line 614) | trie&
      method swap (line 625) | void
    class list_update (line 644) | class list_update : public PB_DS_BASE_C_DEC
      method list_update (line 654) | list_update() { }
      method list_update (line 660) | list_update(It first, It last)
      method list_update (line 663) | list_update(const list_update& other)
      method list_update (line 669) | list_update&
      method swap (line 680) | void

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp
  type pb_ds (line 50) | namespace pb_ds
    type detail (line 52) | namespace detail
      type basic_tree_policy_base (line 64) | struct basic_tree_policy_base
        method const_key_reference (line 97) | static inline const_key_reference
        method it_type (line 106) | it_type
      type basic_tree_policy_base<
      Const_Node_Iterator,
      Const_Node_Iterator,
      Allocator> (line 118) | struct basic_tree_policy_base<
        method const_key_reference (line 154) | static inline const_key_reference
        method it_type (line 163) | it_type

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp
  type pb_ds (line 52) | namespace pb_ds
    type detail (line 54) | namespace detail
      type dumconst_node_iterator (line 57) | struct dumconst_node_iterator
      type null_node_metadata (line 68) | struct null_node_metadata

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/basic_tree_policy/traits.hpp
  type pb_ds (line 55) | namespace pb_ds
    type detail (line 57) | namespace detail
      type tree_traits (line 69) | struct tree_traits
      type trie_traits (line 81) | struct trie_traits

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/basic_types.hpp
  type pb_ds (line 55) | namespace pb_ds
    type detail (line 57) | namespace detail
      type value_type_base (line 60) | struct value_type_base
      type value_type_base<Key, Mapped, Allocator, false> (line 67) | struct value_type_base<Key, Mapped, Allocator, false>
        type stored_value_type (line 83) | struct stored_value_type
      type value_type_base<Key, Mapped, Allocator, true> (line 94) | struct value_type_base<Key, Mapped, Allocator, true>
        type stored_value_type (line 110) | struct stored_value_type
      type value_type_base<Key, null_mapped_type, Allocator, false> (line 128) | struct value_type_base<Key, null_mapped_type, Allocator, false>
        type stored_value_type (line 145) | struct stored_value_type
      type value_type_base<Key, null_mapped_type, Allocator, true> (line 170) | struct value_type_base<Key, null_mapped_type, Allocator, true>
        type stored_value_type (line 187) | struct stored_value_type
      type no_throw_copies (line 203) | struct no_throw_copies
      type no_throw_copies<Key, null_mapped_type> (line 209) | struct no_throw_copies<Key, null_mapped_type>

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
  type pb_ds (line 63) | namespace pb_ds
    type detail (line 65) | namespace detail
      class PB_DS_CLASS_NAME (line 133) | class PB_DS_CLASS_NAME :

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
  function bin_search_tree_cond_dtor_entry_dealtor_ (line 50) | inline
  function set_no_action_dtor (line 55) | inline void

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
  class bin_seach_tree_cond_key_dtor_entry_dealtor_ (line 47) | class bin_seach_tree_cond_key_dtor_entry_dealtor_
    method bin_seach_tree_cond_key_dtor_entry_dealtor_ (line 50) | inline
    method set_no_action_dtor (line 56) | inline void
    method set_key_destruct (line 62) | inline void

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 115) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 128) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 138) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 146) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 157) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 199) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 68) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 92) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 100) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 128) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 140) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 152) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 160) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 179) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 187) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 207) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 249) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 258) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 270) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 62) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 92) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 110) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 70) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 93) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 115) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 137) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 163) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 63) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 108) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 155) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 178) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 200) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 63) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 71) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 79) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 87) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 95) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 103) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 111) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 119) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 127) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 135) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
  type pb_ds (line 52) | namespace pb_ds
    type detail (line 54) | namespace detail
      class bin_search_tree_const_node_it_ (line 69) | class bin_search_tree_const_node_it_
        method bin_search_tree_const_node_it_ (line 113) | inline
        method const_reference (line 118) | inline const_reference
        method const_metadata_reference (line 125) | inline const_metadata_reference
        method PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC (line 132) | inline PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC
        method PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC (line 139) | inline PB_DS_TREE_CONST_NODE_ITERATOR_CLASS_C_DEC
      class bin_search_tree_node_it_ (line 175) | class bin_search_tree_node_it_ :
        method bin_search_tree_node_it_ (line 205) | inline
        method Iterator (line 211) | inline Iterator
        method PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC (line 218) | inline PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC
        method PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC (line 226) | inline PB_DS_TREE_NODE_ITERATOR_CLASS_C_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
  type pb_ds (line 53) | namespace pb_ds
    type detail (line 55) | namespace detail
      class bin_search_tree_const_it_ (line 111) | class bin_search_tree_const_it_
        method bin_search_tree_const_it_ (line 132) | inline
        method bin_search_tree_const_it_ (line 137) | inline
        method PB_DS_TREE_CONST_IT_C_DEC (line 142) | inline
        method PB_DS_TREE_CONST_IT_C_DEC (line 150) | inline
        method const_pointer (line 158) | inline const_pointer
        method const_reference (line 165) | inline const_reference
        method PB_DS_TREE_CONST_IT_C_DEC (line 188) | inline PB_DS_TREE_CONST_IT_C_DEC&
        method PB_DS_TREE_CONST_IT_C_DEC (line 196) | inline PB_DS_TREE_CONST_IT_C_DEC
        method PB_DS_TREE_CONST_IT_C_DEC (line 204) | inline PB_DS_TREE_CONST_IT_C_DEC&
        method PB_DS_TREE_CONST_IT_C_DEC (line 211) | inline PB_DS_TREE_CONST_IT_C_DEC
        method inc (line 220) | inline void
        method inc (line 224) | void
        method dec (line 253) | inline void
        method dec (line 257) | void
      class bin_search_tree_it_ (line 298) | class bin_search_tree_it_ :
        method bin_search_tree_it_ (line 305) | inline
        method bin_search_tree_it_ (line 310) | inline
        method PB_DS_TREE_IT_C_DEC (line 315) | inline
        method PB_DS_TREE_IT_C_DEC (line 323) | inline
        method PB_DS_TREE_IT_C_DEC (line 345) | inline PB_DS_TREE_IT_C_DEC&
        method PB_DS_TREE_IT_C_DEC (line 352) | inline PB_DS_TREE_IT_C_DEC
        method PB_DS_TREE_IT_C_DEC (line 360) | inline PB_DS_TREE_IT_C_DEC&
        method PB_DS_TREE_IT_C_DEC (line 367) | inline PB_DS_TREE_IT_C_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 62) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 92) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 110) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 78) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 109) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 126) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 132) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 143) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 157) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 78) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 87) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 130) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/bin_search_tree_/traits.hpp
  type pb_ds (line 53) | namespace pb_ds
    type detail (line 55) | namespace detail
      type bin_search_tree_traits (line 68) | struct bin_search_tree_traits
      type bin_search_tree_traits<
      Key,
      null_mapped_type,
      Cmp_Fn,
      Node_Update,
      Node,
      Allocator> (line 176) | struct bin_search_tree_traits<

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
  type pb_ds (line 70) | namespace pb_ds
    type detail (line 72) | namespace detail
      class binary_heap_ (line 90) | class binary_heap_ : public PB_DS_ENTRY_CMP_DEC,

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
  type pb_ds (line 54) | namespace pb_ds
    type detail (line 56) | namespace detail
      class binary_heap_const_iterator_ (line 70) | class binary_heap_const_iterator_ : public PB_DS_BASE_C_DEC
        method binary_heap_const_iterator_ (line 103) | inline
        method binary_heap_const_iterator_ (line 108) | inline
        method binary_heap_const_iterator_ (line 113) | inline
        method PB_DS_CLASS_C_DEC (line 131) | inline PB_DS_CLASS_C_DEC&
        method PB_DS_CLASS_C_DEC (line 139) | inline PB_DS_CLASS_C_DEC
        method inc (line 148) | void

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp
  type pb_ds (line 54) | namespace pb_ds
    type detail (line 56) | namespace detail
      class binary_heap_const_point_iterator_ (line 61) | class binary_heap_const_point_iterator_
        method binary_heap_const_point_iterator_ (line 95) | inline
        method binary_heap_const_point_iterator_ (line 100) | inline
        method binary_heap_const_point_iterator_ (line 104) | inline
        method const_pointer (line 110) | inline const_pointer
        method const_reference (line 118) | inline const_reference
        method const_pointer (line 136) | inline const_pointer
        method const_pointer (line 140) | inline const_pointer

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 59) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 131) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 146) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 157) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
  type pb_ds (line 50) | namespace pb_ds
    type detail (line 52) | namespace detail
      type entry_cmp (line 59) | struct entry_cmp
      type entry_cmp<
      Value_Type,
      Cmp_Fn,
      false,
      Allocator> (line 65) | struct entry_cmp<
        type type (line 77) | struct type : public Cmp_Fn
          method type (line 80) | inline
          method type (line 84) | inline

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
  type pb_ds (line 50) | namespace pb_ds
    type detail (line 52) | namespace detail
      type entry_pred (line 59) | struct entry_pred
      type entry_pred<
      Value_Type,
      Pred,
      false,
      Allocator> (line 65) | struct entry_pred<
        type type (line 77) | struct type : public Pred
          method type (line 80) | inline
          method type (line 84) | inline

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 77) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 87) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 93) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 165) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 192) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 58) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 66) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 74) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 82) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 90) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 63) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 63) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 73) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 91) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 101) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 129) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 143) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 205) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 213) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 63) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 71) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
  type pb_ds (line 52) | namespace pb_ds
    type detail (line 54) | namespace detail
      class resize_policy (line 62) | class resize_policy
      function PB_DS_CLASS_T_DEC (line 139) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 148) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 157) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 166) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 172) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 181) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 192) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 204) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 219) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 230) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 243) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 126) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 68) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 76) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
  type pb_ds (line 58) | namespace pb_ds
    type detail (line 60) | namespace detail
      class binomial_heap_ (line 76) | class binomial_heap_ : public PB_DS_BASE_C_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 52) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
  type pb_ds (line 62) | namespace pb_ds
    type detail (line 64) | namespace detail
      class binomial_heap_base_ (line 88) | class binomial_heap_base_ : public PB_DS_BASE_C_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 85) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 99) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 59) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 71) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 71) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 107) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 117) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 62) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 65) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 132) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 175) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 127) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 160) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
  type pb_ds (line 63) | namespace pb_ds
    type detail (line 65) | namespace detail
      class PB_DS_CLASS_NAME (line 122) | class PB_DS_CLASS_NAME:
        type entry (line 140) | struct entry : public traits_base::stored_value_type
        method insert (line 282) | inline std::pair<point_iterator, bool>
        method mapped_reference (line 286) | inline mapped_reference
        method mapped_reference (line 379) | inline mapped_reference
        method mapped_reference (line 405) | inline mapped_reference
        method pointer (line 438) | inline pointer
        method pointer (line 457) | inline pointer
        method pointer (line 476) | inline pointer
        method pointer (line 499) | inline pointer
        method inc_it_state (line 535) | void
        method inc_it_state (line 543) | void
        method get_start_it_state (line 565) | void

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 55) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 84) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
  type pb_ds (line 47) | namespace pb_ds
    type detail (line 49) | namespace detail
      class PB_DS_CKDED_CLASS_NAME (line 59) | class PB_DS_CKDED_CLASS_NAME
      function PB_DS_CLASS_T_DEC (line 94) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 100) | PB_DS_CLASS_T_DEC
      function PB_DS_CLASS_T_DEC (line 106) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 56) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 154) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 159) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 179) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 188) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 58) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 60) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 73) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 88) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 95) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 57) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 56) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 66) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 72) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 54) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 60) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 66) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 73) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 101) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 56) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 67) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 73) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 84) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 54) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 60) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 66) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 72) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 78) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 84) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 90) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 47) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 58) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 64) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 82) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 115) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 48) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 54) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 60) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
  function PB_DS_CLASS_T_DEC (line 49) | PB_DS_CLASS_T_DEC
  function PB_DS_CLASS_T_DEC (line 65) | PB_DS_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/cond_dealtor.hpp
  type pb_ds (line 50) | namespace pb_ds
    type detail (line 53) | namespace detail
      class cond_dealtor (line 65) | class cond_dealtor
      function PB_DS_COND_DEALTOR_CLASS_T_DEC (line 104) | PB_DS_COND_DEALTOR_CLASS_T_DEC
      function PB_DS_COND_DEALTOR_CLASS_T_DEC (line 112) | PB_DS_COND_DEALTOR_CLASS_T_DEC

FILE: freebsd-headers/c++/4.2/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp
  function PB_DS_CLASS_NAME (line 47) | inline
  function PB_DS_CLASS_NAME (line 51) | inline
  function PB_DS_CLASS_NAME (line 57) | inline
  function PB_DS_CLASS_NAME (line 62) | inline
  function PB_DS_CLASS_NAME (line 67) | inline
  function PB_DS_CLASS_NAME (line 72) | inline
  function PB_DS_CLASS_NAME (line 78) | inline
  function PB_DS_CLASS_NAME (line 85) | inline
  function PB_DS_CLASS_NAME (line 92) | inline
  function PB_DS_CLASS_NAME (line 99) | inline
  function PB
Copy disabled (too large) Download .json
Condensed preview — 2152 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (19,221K chars).
[
  {
    "path": ".github/workflows/ci.yml",
    "chars": 1042,
    "preview": "name: Rebuild With New SDK\n\non:\n  push:\n    paths-ignore:\n      - \"**/*.md\"\n      - '**/*.txt'\n  pull_request:\n    paths"
  },
  {
    "path": ".gitmodules",
    "chars": 216,
    "preview": "[submodule \"ps5-kstuff/BearSSL\"]\n\tpath = ps5-kstuff/BearSSL\n\turl = https://www.bearssl.org/git/BearSSL\n[submodule \"ps5-k"
  },
  {
    "path": "ci-ps5-kstuff-ldr.sh",
    "chars": 119,
    "preview": "#!/usr/bin/env bash\n\ngit submodule update --init --recursive || exit 1\ncd ps5-kstuff\nmake\ncd ..\ncd ps5-kstuff-ldr\nmake\n"
  },
  {
    "path": "freebsd-headers/Block.h",
    "chars": 2008,
    "preview": "/*\n * Block.h\n *\n * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge,\n * to any person obtai"
  },
  {
    "path": "freebsd-headers/Block_private.h",
    "chars": 6081,
    "preview": "/*\n * Block_private.h\n *\n * Copyright 2008-2010 Apple, Inc. Permission is hereby granted, free of charge,\n * to any pers"
  },
  {
    "path": "freebsd-headers/FlexLexer.h",
    "chars": 5878,
    "preview": "// $Header: /home/daffy/u0/vern/flex/RCS/FlexLexer.h,v 1.19 96/05/25 20:43:02 vern Exp $\n// $FreeBSD: release/9.0.0/usr."
  },
  {
    "path": "freebsd-headers/_ctype.h",
    "chars": 6077,
    "preview": "/*\n * Copyright (c) 1989, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n * (c) UNIX System "
  },
  {
    "path": "freebsd-headers/a.out.h",
    "chars": 1944,
    "preview": "/*-\n * Copyright (c) 1991, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n *\n * Redistributi"
  },
  {
    "path": "freebsd-headers/alias.h",
    "chars": 8534,
    "preview": "/* lint -save -library Flexelint comment for external headers */\n\n/*-\n * Copyright (c) 2001 Charles Mott <cm@linktel.net"
  },
  {
    "path": "freebsd-headers/altq/altq.h",
    "chars": 6615,
    "preview": "/*\t$FreeBSD: release/9.0.0/sys/contrib/altq/altq/altq.h 130368 2004-06-12 00:57:20Z mlaier $\t*/\n/*\t$KAME: altq.h,v 1.10 "
  },
  {
    "path": "freebsd-headers/altq/altq_cbq.h",
    "chars": 6021,
    "preview": "/*\t$KAME: altq_cbq.h,v 1.12 2003/10/03 05:05:15 kjc Exp $\t*/\n\n/*\n * Copyright (c) Sun Microsystems, Inc. 1993-1998 All r"
  },
  {
    "path": "freebsd-headers/altq/altq_cdnr.h",
    "chars": 10204,
    "preview": "/*\t$KAME: altq_cdnr.h,v 1.9 2003/07/10 12:07:48 kjc Exp $\t*/\n\n/*\n * Copyright (C) 1999-2002\n *\tSony Computer Science Lab"
  },
  {
    "path": "freebsd-headers/altq/altq_classq.h",
    "chars": 5376,
    "preview": "/*\t$KAME: altq_classq.h,v 1.6 2003/01/07 07:33:38 kjc Exp $\t*/\n\n/*\n * Copyright (c) 1991-1997 Regents of the University "
  },
  {
    "path": "freebsd-headers/altq/altq_hfsc.h",
    "chars": 11025,
    "preview": "/*\t$KAME: altq_hfsc.h,v 1.12 2003/12/05 05:40:46 kjc Exp $\t*/\n\n/*\n * Copyright (c) 1997-1999 Carnegie Mellon University."
  },
  {
    "path": "freebsd-headers/altq/altq_priq.h",
    "chars": 5226,
    "preview": "/*\t$KAME: altq_priq.h,v 1.7 2003/10/03 05:05:15 kjc Exp $\t*/\n/*\n * Copyright (C) 2000-2003\n *\tSony Computer Science Labo"
  },
  {
    "path": "freebsd-headers/altq/altq_red.h",
    "chars": 5885,
    "preview": "/*\t$KAME: altq_red.h,v 1.8 2003/07/10 12:07:49 kjc Exp $\t*/\n\n/*\n * Copyright (C) 1997-2003\n *\tSony Computer Science Labo"
  },
  {
    "path": "freebsd-headers/altq/altq_rio.h",
    "chars": 4815,
    "preview": "/*\t$KAME: altq_rio.h,v 1.9 2003/07/10 12:07:49 kjc Exp $\t*/\n\n/*\n * Copyright (C) 1998-2003\n *\tSony Computer Science Labo"
  },
  {
    "path": "freebsd-headers/altq/altq_rmclass.h",
    "chars": 9109,
    "preview": "/*\t$KAME: altq_rmclass.h,v 1.10 2003/08/20 23:30:23 itojun Exp $\t*/\n\n/*\n * Copyright (c) 1991-1997 Regents of the Univer"
  },
  {
    "path": "freebsd-headers/altq/altq_rmclass_debug.h",
    "chars": 3193,
    "preview": "/*\t$KAME: altq_rmclass_debug.h,v 1.3 2002/11/29 04:36:24 kjc Exp $\t*/\n\n/*\n * Copyright (c) Sun Microsystems, Inc. 1998 A"
  },
  {
    "path": "freebsd-headers/altq/altq_var.h",
    "chars": 8391,
    "preview": "/*\t$FreeBSD: release/9.0.0/sys/contrib/altq/altq/altq_var.h 219457 2011-03-10 18:49:15Z jkim $\t*/\n/*\t$KAME: altq_var.h,v"
  },
  {
    "path": "freebsd-headers/altq/altqconf.h",
    "chars": 732,
    "preview": "/*\t$OpenBSD: altqconf.h,v 1.1 2001/06/27 05:28:36 kjc Exp $\t*/\n/*\t$NetBSD: altqconf.h,v 1.2 2001/05/30 11:57:16 mrg Exp "
  },
  {
    "path": "freebsd-headers/altq/if_altq.h",
    "chars": 7018,
    "preview": "/*\t$FreeBSD: release/9.0.0/sys/contrib/altq/altq/if_altq.h 219457 2011-03-10 18:49:15Z jkim $\t*/\n/*\t$KAME: if_altq.h,v 1"
  },
  {
    "path": "freebsd-headers/ar.h",
    "chars": 2774,
    "preview": "/*-\n * Copyright (c) 1991, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n * (c) UNIX System"
  },
  {
    "path": "freebsd-headers/archive.h",
    "chars": 32027,
    "preview": "/*-\n * Copyright (c) 2003-2007 Tim Kientzle\n * All rights reserved.\n *\n * Redistribution and use in source and binary fo"
  },
  {
    "path": "freebsd-headers/archive_entry.h",
    "chars": 24640,
    "preview": "/*-\n * Copyright (c) 2003-2008 Tim Kientzle\n * All rights reserved.\n *\n * Redistribution and use in source and binary fo"
  },
  {
    "path": "freebsd-headers/arpa/ftp.h",
    "chars": 3513,
    "preview": "/*\n * Copyright (c) 1983, 1989, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n *\n * Redistr"
  },
  {
    "path": "freebsd-headers/arpa/inet.h",
    "chars": 6018,
    "preview": "/*\n * ++Copyright++ 1983, 1993\n * -\n * Copyright (c) 1983, 1993\n *    The Regents of the University of California.  All "
  },
  {
    "path": "freebsd-headers/arpa/nameser.h",
    "chars": 21594,
    "preview": "/*\n * Copyright (c) 1983, 1989, 1993\n *    The Regents of the University of California.  All rights reserved.\n * \n * Red"
  },
  {
    "path": "freebsd-headers/arpa/nameser_compat.h",
    "chars": 6691,
    "preview": "/* Copyright (c) 1983, 1989\n *    The Regents of the University of California.  All rights reserved.\n * \n * Redistributi"
  },
  {
    "path": "freebsd-headers/arpa/telnet.h",
    "chars": 11147,
    "preview": "/*\n * Copyright (c) 1983, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n *\n * Redistributio"
  },
  {
    "path": "freebsd-headers/arpa/tftp.h",
    "chars": 2969,
    "preview": "/*\n * Copyright (c) 1983, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n *\n * Redistributio"
  },
  {
    "path": "freebsd-headers/asn1_err.h",
    "chars": 981,
    "preview": "/* Generated from /usr/src/kerberos5/lib/libasn1/../../../crypto/heimdal/lib/asn1/asn1_err.et */\n/* $Id: asn1_err.et 213"
  },
  {
    "path": "freebsd-headers/assert.h",
    "chars": 2580,
    "preview": "/*-\n * Copyright (c) 1992, 1993\n *\tThe Regents of the University of California.  All rights reserved.\n * (c) UNIX System"
  },
  {
    "path": "freebsd-headers/bitstring.h",
    "chars": 1545,
    "preview": "/*-\n * Copyright (c) 2003 Poul-Henning Kamp\n * All rights reserved.\n *\n * Redistribution and use in source and binary fo"
  },
  {
    "path": "freebsd-headers/bluetooth.h",
    "chars": 6414,
    "preview": "/*\n * bluetooth.h\n */\n\n/*-\n * Copyright (c) 2001-2009 Maksim Yevmenkin <m_evmenkin@yahoo.com>\n * All rights reserved.\n *"
  },
  {
    "path": "freebsd-headers/bsdxml.h",
    "chars": 39885,
    "preview": "/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd\n   See the file src/contrib/expat/COPYING for cop"
  },
  {
    "path": "freebsd-headers/bsdxml_external.h",
    "chars": 3364,
    "preview": "/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd\n   See the file COPYING for copying permission.\n*"
  },
  {
    "path": "freebsd-headers/bsm/audit.h",
    "chars": 9142,
    "preview": "/*-\n * Copyright (c) 2005-2009 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary form"
  },
  {
    "path": "freebsd-headers/bsm/audit_domain.h",
    "chars": 4862,
    "preview": "/*-\n * Copyright (c) 2008 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, wi"
  },
  {
    "path": "freebsd-headers/bsm/audit_errno.h",
    "chars": 9564,
    "preview": "/*-\n * Copyright (c) 2008 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, wi"
  },
  {
    "path": "freebsd-headers/bsm/audit_fcntl.h",
    "chars": 5848,
    "preview": "/*-\n * Copyright (c) 2009 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, wi"
  },
  {
    "path": "freebsd-headers/bsm/audit_internal.h",
    "chars": 4195,
    "preview": "/*-\n * Copyright (c) 2005-2008 Apple Inc.\n * Copyright (c) 2005 SPARTA, Inc.\n * All rights reserved.\n *\n * This code was"
  },
  {
    "path": "freebsd-headers/bsm/audit_kevents.h",
    "chars": 31314,
    "preview": "/*-\n * Copyright (c) 2005-2009 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary form"
  },
  {
    "path": "freebsd-headers/bsm/audit_record.h",
    "chars": 11230,
    "preview": "/*-\n * Copyright (c) 2005-2009 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary form"
  },
  {
    "path": "freebsd-headers/bsm/audit_socket_type.h",
    "chars": 2039,
    "preview": "/*-\n * Copyright (c) 2008 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary forms, wi"
  },
  {
    "path": "freebsd-headers/bsm/audit_uevents.h",
    "chars": 5345,
    "preview": "/*-\n * Copyright (c) 2004-2008 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary form"
  },
  {
    "path": "freebsd-headers/bsm/libbsm.h",
    "chars": 36659,
    "preview": "/*-\n * Copyright (c) 2004-2009 Apple Inc.\n * All rights reserved.\n *\n * Redistribution and use in source and binary form"
  },
  {
    "path": "freebsd-headers/bsnmp/asn1.h",
    "chars": 6278,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/bridge_snmp.h",
    "chars": 11060,
    "preview": "/*-\n * Copyright (c) 2006 Shteryana Shopova <syrinx@FreeBSD.org>\n * All rights reserved.\n *\n * Redistribution and use in"
  },
  {
    "path": "freebsd-headers/bsnmp/snmp.h",
    "chars": 8034,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/snmp_atm.h",
    "chars": 3522,
    "preview": "/*\n * Copyright (c) 2001-2002\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/snmp_mibII.h",
    "chars": 5375,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/snmp_netgraph.h",
    "chars": 3940,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/snmpagent.h",
    "chars": 4547,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/snmpclient.h",
    "chars": 6318,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bsnmp/snmpmod.h",
    "chars": 18594,
    "preview": "/*\n * Copyright (c) 2001-2003\n *\tFraunhofer Institute for Open Communication Systems (FhG Fokus).\n *\tAll rights reserved"
  },
  {
    "path": "freebsd-headers/bzlib.h",
    "chars": 6245,
    "preview": "\n/*-------------------------------------------------------------*/\n/*--- Public header file for the library.            "
  },
  {
    "path": "freebsd-headers/c++/4.2/algorithm",
    "chars": 2840,
    "preview": "// <algorithm> -*- C++ -*-\n\n// Copyright (C) 2001, 2002 Free Software Foundation, Inc.\n//\n// This file is part of the GN"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/algo.h",
    "chars": 4621,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/algobase.h",
    "chars": 3355,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/alloc.h",
    "chars": 2165,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.\n//\n// This file"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/backward_warning.h",
    "chars": 1857,
    "preview": "// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/bvector.h",
    "chars": 2731,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001, 2004 Free Software Foundation, Inc.\n//\n// This file is pa"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/complex.h",
    "chars": 1649,
    "preview": "// Copyright (C) 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/defalloc.h",
    "chars": 3884,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/deque.h",
    "chars": 2716,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/fstream.h",
    "chars": 1754,
    "preview": "// Copyright (C) 2000, 2001 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This lib"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/function.h",
    "chars": 4305,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/hash_map.h",
    "chars": 2805,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/hash_set.h",
    "chars": 2806,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/hashtable.h",
    "chars": 2918,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/heap.h",
    "chars": 2776,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/iomanip.h",
    "chars": 2241,
    "preview": "// Copyright (C) 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/iostream.h",
    "chars": 1854,
    "preview": "// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  Thi"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/istream.h",
    "chars": 1501,
    "preview": "// Copyright (C) 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/iterator.h",
    "chars": 6406,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001, 2004 Free Software Foundation, Inc.\n//\n// This file is pa"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/list.h",
    "chars": 2716,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/map.h",
    "chars": 2688,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/multimap.h",
    "chars": 2708,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/multiset.h",
    "chars": 2708,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/new.h",
    "chars": 1588,
    "preview": "// -*- C++ -*- forwarding header.\n// Copyright (C) 2000 Free Software Foundation\n\n// This file is part of GCC.\n//\n// GCC"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/ostream.h",
    "chars": 1501,
    "preview": "// Copyright (C) 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/pair.h",
    "chars": 2736,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/queue.h",
    "chars": 1538,
    "preview": "// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/rope.h",
    "chars": 2271,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/set.h",
    "chars": 2688,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/slist.h",
    "chars": 2142,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/stack.h",
    "chars": 2756,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/stream.h",
    "chars": 1499,
    "preview": "// Copyright (C) 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/streambuf.h",
    "chars": 1527,
    "preview": "// Copyright (C) 2000 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Library.  This library i"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/strstream",
    "chars": 5771,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.\n//\n// Thi"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/tempbuf.h",
    "chars": 2980,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001, 2005 Free Software Foundation, Inc.\n//\n// This file is pa"
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/tree.h",
    "chars": 2116,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/backward/vector.h",
    "chars": 2721,
    "preview": "// Backward-compat support -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/allocator.h",
    "chars": 4780,
    "preview": "// Allocators -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, Inc.\n//\n// T"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/atomic_word.h",
    "chars": 2266,
    "preview": "// Low-level type for atomic operations -*- C++ -*-\n\n// Copyright (C) 2004 Free Software Foundation, Inc.\n//\n// This fil"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/basic_file.h",
    "chars": 3014,
    "preview": "// Wrapper of C-language FILE struct -*- C++ -*-\n\n// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005\n// Free Software F"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/basic_ios.h",
    "chars": 15005,
    "preview": "// Iostreams base classes -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005\n// Free Software "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/basic_ios.tcc",
    "chars": 6716,
    "preview": "// basic_ios member functions -*- C++ -*-\n\n// Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005\n// Free Software Foundati"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/basic_string.h",
    "chars": 91947,
    "preview": "// Components for manipulating sequences of characters -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002,"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/basic_string.tcc",
    "chars": 34324,
    "preview": "// Components for manipulating sequences of characters -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002,"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/boost_concept_check.h",
    "chars": 32174,
    "preview": "// -*- C++ -*-\n\n// Copyright (C) 2004, 2005 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO C++ Li"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/c++allocator.h",
    "chars": 1788,
    "preview": "// Base to std::allocator -*- C++ -*-\n\n// Copyright (C) 2004, 2005 Free Software Foundation, Inc.\n//\n// This file is par"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/c++config.h",
    "chars": 39095,
    "preview": "// Predefined symbols and macros -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,\n// "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/c++io.h",
    "chars": 1915,
    "preview": "// Underlying io library details -*- C++ -*-\n\n// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/c++locale.h",
    "chars": 3047,
    "preview": "// Wrapper for underlying C-language localization -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Fr"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/c++locale_internal.h",
    "chars": 1502,
    "preview": "// Locale internal implementation header -*- C++ -*-\n\n// Copyright (C) 2002 Free Software Foundation, Inc.\n//\n// This fi"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/char_traits.h",
    "chars": 11617,
    "preview": "// Character Traits for use by standard string and iostream -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/cmath.tcc",
    "chars": 1962,
    "preview": "// -*- C++ -*- C math library.\n\n// Copyright (C) 2000, 2003, 2004, 2006 Free Software Foundation, Inc.\n//\n// This file i"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/codecvt.h",
    "chars": 16029,
    "preview": "// Locale support (codecvt) -*- C++ -*-\n\n// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005\n//  Free Software Foundatio"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/compatibility.h",
    "chars": 7985,
    "preview": "// Compatibility symbols for previous versions -*- C++ -*-\n\n// Copyright (C) 2005, 2006\n// Free Software Foundation, Inc"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/concept_check.h",
    "chars": 3663,
    "preview": "// Concept-checking control -*- C++ -*-\n\n// Copyright (C) 2001 Free Software Foundation, Inc.\n//\n// This file is part of"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/cpp_type_traits.h",
    "chars": 9690,
    "preview": "// The  -*- C++ -*- type traits classes for internal use in libstdc++\n\n// Copyright (C) 2000, 2001, 2002, 2003, 2004, 20"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/cpu_defines.h",
    "chars": 1658,
    "preview": "// Specific definitions for generic platforms  -*- C++ -*-\n\n// Copyright (C) 2005 Free Software Foundation, Inc.\n//\n// T"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/ctype_base.h",
    "chars": 3048,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 2000, 2003 Free Software Foundation, Inc.\n//\n// This file is part of the"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/ctype_inline.h",
    "chars": 4555,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 2000, 2003, 2004, 2005 Free Software Foundation, Inc.\n//\n// This file is"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/ctype_noninline.h",
    "chars": 3035,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.\n//\n// This file is part "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/cxxabi_tweaks.h",
    "chars": 2205,
    "preview": "// Control various target specific ABI tweaks.  Generic version.\n\n// Copyright (C) 2004, 2006 Free Software Foundation, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/deque.tcc",
    "chars": 24746,
    "preview": "// Deque implementation (out of line) -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007\n// Free Sof"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/fstream.tcc",
    "chars": 27129,
    "preview": "// File based streams -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free S"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/functexcept.h",
    "chars": 3002,
    "preview": "// Function-Based Exception Support -*- C++ -*-\n\n// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.\n//\n// "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gslice.h",
    "chars": 5511,
    "preview": "// The template and inlines for the -*- C++ -*- gslice class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004, 2005"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gslice_array.h",
    "chars": 7977,
    "preview": "// The template and inlines for the -*- C++ -*- gslice_array class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2004"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gthr-default.h",
    "chars": 17928,
    "preview": "/* Threads compatibility routines for libgcc2 and libobjc.  */\n/* Compile this one with gcc.  */\n/* Copyright (C) 1997, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gthr-posix.h",
    "chars": 17928,
    "preview": "/* Threads compatibility routines for libgcc2 and libobjc.  */\n/* Compile this one with gcc.  */\n/* Copyright (C) 1997, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gthr-single.h",
    "chars": 6022,
    "preview": "/* Threads compatibility routines for libgcc2 and libobjc.  */\n/* Compile this one with gcc.  */\n/* Copyright (C) 1997, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gthr-tpf.h",
    "chars": 17928,
    "preview": "/* Threads compatibility routines for libgcc2 and libobjc.  */\n/* Compile this one with gcc.  */\n/* Copyright (C) 1997, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/gthr.h",
    "chars": 4384,
    "preview": "/* Threads compatibility routines for libgcc2.  */\n/* Compile this one with gcc.  */\n/* Copyright (C) 1997, 1998, 2004 F"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/indirect_array.h",
    "chars": 8076,
    "preview": "// The template and inlines for the -*- C++ -*- indirect_array class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 20"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/ios_base.h",
    "chars": 28346,
    "preview": "// Iostreams base classes -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Fr"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/istream.tcc",
    "chars": 31007,
    "preview": "// istream classes -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,\n// 2006, 2007\n// "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/list.tcc",
    "chars": 10672,
    "preview": "// List implementation (out of line) -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software F"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/locale_classes.h",
    "chars": 16606,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free Softw"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/locale_facets.h",
    "chars": 161161,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free Softw"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/locale_facets.tcc",
    "chars": 86851,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free Softw"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/localefwd.h",
    "chars": 5674,
    "preview": "// Locale support -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006\n// Free Software Fo"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/mask_array.h",
    "chars": 7802,
    "preview": "// The template and inlines for the -*- C++ -*- mask_array class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/messages_members.h",
    "chars": 3335,
    "preview": "// std::messages implementation details, generic version -*- C++ -*-\n\n// Copyright (C) 2001, 2003, 2004 Free Software Fo"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/os_defines.h",
    "chars": 1985,
    "preview": "// Specific definitions for BSD  -*- C++ -*-\n\n// Copyright (C) 2000, 2002 Free Software Foundation, Inc.\n//\n// This file"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/ostream.tcc",
    "chars": 11609,
    "preview": "// ostream classes -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,\n// 2006, 2007\n// "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/ostream_insert.h",
    "chars": 4124,
    "preview": "// Helpers for ostream inserters -*- C++ -*-\n\n// Copyright (C) 2007 Free Software Foundation, Inc.\n//\n// This file is pa"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/postypes.h",
    "chars": 7513,
    "preview": "// Position types -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free Softw"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/slice_array.h",
    "chars": 9567,
    "preview": "// The template and inlines for the -*- C++ -*- slice_array class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002,"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/sstream.tcc",
    "chars": 9407,
    "preview": "// String based streams -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_algo.h",
    "chars": 186131,
    "preview": "// Algorithm implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_algobase.h",
    "chars": 32186,
    "preview": "// Bits and pieces used in algorithms -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007\n// Free Sof"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_bvector.h",
    "chars": 26774,
    "preview": "// vector<bool> specialization -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundat"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_construct.h",
    "chars": 6078,
    "preview": "// nonstandard construct and destroy functions -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_deque.h",
    "chars": 54332,
    "preview": "// Deque implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, In"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_function.h",
    "chars": 25463,
    "preview": "// Functor implementations -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.\n//\n// Thi"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_heap.h",
    "chars": 16106,
    "preview": "// Heap implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2004, 2005, 2006 Free Software Foundation, Inc.\n//\n// This fi"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_iterator.h",
    "chars": 27490,
    "preview": "// Iterators -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, Inc.\n//\n// Th"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_iterator_base_funcs.h",
    "chars": 6611,
    "preview": "// Functions used by iterators -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundat"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_iterator_base_types.h",
    "chars": 6765,
    "preview": "// Types used in iterator implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_list.h",
    "chars": 41151,
    "preview": "// List implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, Inc"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_map.h",
    "chars": 27724,
    "preview": "// Map implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007\n// Free Software Foundation"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_multimap.h",
    "chars": 25543,
    "preview": "// Multimap implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.\n//\n"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_multiset.h",
    "chars": 20704,
    "preview": "// Multiset implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.\n//\n"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_numeric.h",
    "chars": 12523,
    "preview": "// Numeric functions implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.\n//\n// "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_pair.h",
    "chars": 5788,
    "preview": "// Pair implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.\n//\n// This file is "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_queue.h",
    "chars": 15367,
    "preview": "// Queue implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, In"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_raw_storage_iter.h",
    "chars": 3710,
    "preview": "// -*- C++ -*-\n\n// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.\n//\n// This file is part of the GNU ISO "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_relops.h",
    "chars": 4850,
    "preview": "// std::rel_ops implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005 Free Software Foundation, Inc.\n//\n//"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_set.h",
    "chars": 21156,
    "preview": "// Set implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.\n//\n// Th"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_stack.h",
    "chars": 9068,
    "preview": "// Stack implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, In"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_tempbuf.h",
    "chars": 5460,
    "preview": "// Temporary buffer implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 \n// Free Software Fo"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_tree.h",
    "chars": 46930,
    "preview": "// RB tree implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_uninitialized.h",
    "chars": 12880,
    "preview": "// Raw memory manipulators -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation,"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stl_vector.h",
    "chars": 34529,
    "preview": "// Vector implementation -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, I"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stream_iterator.h",
    "chars": 6759,
    "preview": "// Stream iterators\n\n// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.\n//\n// This file is part of the GNU"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/streambuf.tcc",
    "chars": 5261,
    "preview": "// Stream buffer classes -*- C++ -*-\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Fre"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/streambuf_iterator.h",
    "chars": 12536,
    "preview": "// Streambuf iterators\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Fou"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/stringfwd.h",
    "chars": 2237,
    "preview": "// String support -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.\n//\n// This file is part "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/time_members.h",
    "chars": 2981,
    "preview": "// std::time_get, std::time_put implementation, generic version -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 20"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/valarray_after.h",
    "chars": 22888,
    "preview": "// The template and inlines for the -*- C++ -*- internal _Meta class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 20"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/valarray_array.h",
    "chars": 22470,
    "preview": "// The template and inlines for the -*- C++ -*- internal _Array helper class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/valarray_array.tcc",
    "chars": 7530,
    "preview": "// The template and inlines for the -*- C++ -*- internal _Array helper class.\n\n// Copyright (C) 1997, 1998, 1999, 2003, "
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/valarray_before.h",
    "chars": 18547,
    "preview": "// The template and inlines for the -*- C++ -*- internal _Meta class.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 20"
  },
  {
    "path": "freebsd-headers/c++/4.2/bits/vector.tcc",
    "chars": 16003,
    "preview": "// Vector implementation (out of line) -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundati"
  },
  {
    "path": "freebsd-headers/c++/4.2/bitset",
    "chars": 35742,
    "preview": "// <bitset> -*- C++ -*-\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006\n// Free Software Foundation, Inc.\n//\n// Thi"
  },
  {
    "path": "freebsd-headers/c++/4.2/cassert",
    "chars": 2011,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cctype",
    "chars": 2631,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cerrno",
    "chars": 2133,
    "preview": "// The -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Sof"
  },
  {
    "path": "freebsd-headers/c++/4.2/cfloat",
    "chars": 2063,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/ciso646",
    "chars": 1854,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.\n//\n// Th"
  },
  {
    "path": "freebsd-headers/c++/4.2/climits",
    "chars": 2068,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/clocale",
    "chars": 2316,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cmath",
    "chars": 14356,
    "preview": "// -*- C++ -*- C forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006\n// Free"
  },
  {
    "path": "freebsd-headers/c++/4.2/complex",
    "chars": 40878,
    "preview": "// The template and inlines for the -*- C++ -*- complex number classes.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, "
  },
  {
    "path": "freebsd-headers/c++/4.2/csetjmp",
    "chars": 2360,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/csignal",
    "chars": 2266,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cstdarg",
    "chars": 2255,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cstddef",
    "chars": 2150,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cstdio",
    "chars": 4562,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cstdlib",
    "chars": 5490,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cstring",
    "chars": 3538,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/ctime",
    "chars": 2531,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cwchar",
    "chars": 6282,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cwctype",
    "chars": 3074,
    "preview": "// -*- C++ -*- forwarding header.\n\n// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005\n// Free Softwar"
  },
  {
    "path": "freebsd-headers/c++/4.2/cxxabi.h",
    "chars": 16310,
    "preview": "// new abi support -*- C++ -*-\n  \n// Copyright (C) 2000, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.\n//\n// Thi"
  }
]

// ... and 1952 more files (download for full content)

About this extraction

This page contains the full source code of the EchoStretch/kstuff GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2152 files (17.3 MB), approximately 4.6M tokens, and a symbol index with 30354 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!