\doxysection{File List}
Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{include/osmocom/core/\textbf{ application.\+h} \\*Routines for helping with the osmocom application setup }{\pageref{application_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ backtrace.\+h} }{\pageref{backtrace_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ base64.\+h} \\*RFC 1521 base64 encoding/decoding }{\pageref{base64_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ bit16gen.\+h} }{\pageref{bit16gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ bit32gen.\+h} }{\pageref{bit32gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ bit64gen.\+h} }{\pageref{bit64gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ bitcomp.\+h} \\*Osmocom bit compression routines }{\pageref{bitcomp_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ bits.\+h} \\*Osmocom bit level support code }{\pageref{bits_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ bitvec.\+h} }{\pageref{bitvec_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ byteswap.\+h} }{\pageref{byteswap_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ conv.\+h} \\*Osmocom convolutional encoder and decoder }{\pageref{conv_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ counter.\+h} \\*Common routines regarding counter handling }{\pageref{counter_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ crc16.\+h} \\*This was copied from the linux kernel and adjusted for our types }{\pageref{crc16_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ crc16gen.\+h} \\*Osmocom generic CRC routines (for max 16 bits poly) header }{\pageref{crc16gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ crc32gen.\+h} \\*Osmocom generic CRC routines (for max 32 bits poly) header }{\pageref{crc32gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ crc64gen.\+h} \\*Osmocom generic CRC routines (for max 64 bits poly) header }{\pageref{crc64gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ crc8gen.\+h} \\*Osmocom generic CRC routines (for max 8 bits poly) header }{\pageref{crc8gen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ crcgen.\+h} \\*Osmocom generic CRC routines global header }{\pageref{crcgen_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ defs.\+h} \\*General definitions that are meant to be included from header files }{\pageref{defs_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ endian.\+h} \\*GNU and Free\+BSD have various ways to express the endianness but none of them is similar enough }{\pageref{endian_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ exec.\+h} }{\pageref{exec_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ fsm.\+h} \\*Finite State Machine }{\pageref{fsm_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ gsmtap.\+h} \\*Gsmtap header, pseudo-\/header in front of the actua GSM payload }{\pageref{gsmtap_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ gsmtap\+\_\+util.\+h} }{\pageref{gsmtap__util_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ hash.\+h} }{\pageref{hash_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ hashtable.\+h} }{\pageref{hashtable_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ isdnhdlc.\+h} }{\pageref{isdnhdlc_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ it\+\_\+q.\+h} }{\pageref{it__q_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ jhash.\+h} }{\pageref{jhash_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ linuxlist.\+h} \\*Simple doubly linked list implementation }{\pageref{linuxlist_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ linuxrbtree.\+h} }{\pageref{linuxrbtree_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ log2.\+h} }{\pageref{log2_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ logging.\+h} }{\pageref{logging_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ logging\+\_\+internal.\+h} }{\pageref{logging__internal_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ loggingrb.\+h} }{\pageref{loggingrb_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ macaddr.\+h} }{\pageref{macaddr_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ mnl.\+h} }{\pageref{mnl_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ msgb.\+h} }{\pageref{msgb_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ msgfile.\+h} }{\pageref{msgfile_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ netdev.\+h} \\*Network device (interface) convenience functions }{\pageref{netdev_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ netns.\+h} \\*Network namespace convenience functions }{\pageref{netns_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ osmo\+\_\+io.\+h} \\*Io(\+\_\+uring) abstraction osmo fd compatibility }{\pageref{osmo__io_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ panic.\+h} }{\pageref{panic_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ plugin.\+h} }{\pageref{plugin_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ prbs.\+h} }{\pageref{prbs_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ prim.\+h} }{\pageref{prim_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ process.\+h} }{\pageref{process_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ rate\+\_\+ctr.\+h} }{\pageref{rate__ctr_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ select.\+h} \\*Libmnl integration }{\pageref{select_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ sercomm.\+h} \\*Osmocom Sercomm HDLC (de)multiplex }{\pageref{sercomm_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ serial.\+h} \\*Osmocom serial port helpers }{\pageref{serial_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ signal.\+h} }{\pageref{signal_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ sockaddr\+\_\+str.\+h} \\*Common API to store an IP address and port }{\pageref{sockaddr__str_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ socket.\+h} \\*Osmocom socket convenience functions }{\pageref{socket_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ socket\+\_\+compat.\+h} }{\pageref{socket__compat_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ soft\+\_\+uart.\+h} \\*Software UART implementation }{\pageref{soft__uart_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ stat\+\_\+item.\+h} }{\pageref{stat__item_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ statistics.\+h} }{\pageref{statistics_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ stats.\+h} }{\pageref{stats_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ stats\+\_\+tcp.\+h} }{\pageref{stats__tcp_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ strrb.\+h} \\*Osmocom string ringbuffer handling routines }{\pageref{strrb_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ talloc.\+h} }{\pageref{talloc_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ tdef.\+h} \\*API to define Tnnn timers globally and use for FSM state changes }{\pageref{tdef_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ thread.\+h} \\*Compatibility header with some thread related helpers }{\pageref{thread_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ time\+\_\+cc.\+h} \\*Report the cumulative counter of time for which a flag is true as rate counter }{\pageref{time__cc_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ timer.\+h} \\*Osmocom timer handling routines }{\pageref{timer_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ timer\+\_\+compat.\+h} \\*Compatibility header with some helpers }{\pageref{timer__compat_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ tun.\+h} \\*Tunnel network device convenience functions }{\pageref{tun_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ use\+\_\+count.\+h} \\*Generic object usage counter API (get, put and deallocate on zero count) }{\pageref{use__count_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ utils.\+h} }{\pageref{utils_8h}}{}
\item\contentsline{section}{include/osmocom/core/\textbf{ write\+\_\+queue.\+h} \\*Generic write queue implementation }{\pageref{write__queue_8h}}{}
\item\contentsline{section}{src/core/\textbf{ application.\+c} \\*Routines for helping with the osmocom application setup }{\pageref{application_8c}}{}
\item\contentsline{section}{src/core/\textbf{ backtrace.\+c} \\*Routines related to generating call back traces }{\pageref{backtrace_8c}}{}
\item\contentsline{section}{src/core/\textbf{ base64.\+c} }{\pageref{base64_8c}}{}
\item\contentsline{section}{src/core/\textbf{ bitcomp.\+c} \\*Osmocom bit compression routines }{\pageref{bitcomp_8c}}{}
\item\contentsline{section}{src/core/\textbf{ bits.\+c} }{\pageref{bits_8c}}{}
\item\contentsline{section}{src/core/\textbf{ bitvec.\+c} }{\pageref{bitvec_8c}}{}
\item\contentsline{section}{src/core/\textbf{ context.\+c} \\*Talloc context handling }{\pageref{context_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv.\+c} \\*Generic convolutional encoding / decoding }{\pageref{conv_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc.\+c} \\*Accelerated Viterbi decoder implementation }{\pageref{conv__acc_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc\+\_\+generic.\+c} \\*Accelerated Viterbi decoder implementation for generic architectures without SSE support }{\pageref{conv__acc__generic_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc\+\_\+neon.\+c} \\*Accelerated Viterbi decoder implementation for architectures with only NEON available }{\pageref{conv__acc__neon_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc\+\_\+neon\+\_\+impl.\+h} \\*Accelerated Viterbi decoder implementation\+: straight port of SSE to NEON based on Tom Tsous work }{\pageref{conv__acc__neon__impl_8h}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc\+\_\+sse.\+c} \\*Accelerated Viterbi decoder implementation for architectures with only SSSE3 available }{\pageref{conv__acc__sse_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc\+\_\+sse\+\_\+avx.\+c} \\*Accelerated Viterbi decoder implementation for architectures with both SSSE3 and AVX2 support }{\pageref{conv__acc__sse__avx_8c}}{}
\item\contentsline{section}{src/core/\textbf{ conv\+\_\+acc\+\_\+sse\+\_\+impl.\+h} \\*Accelerated Viterbi decoder implementation\+: Actual definitions which are being included from both conv\+\_\+acc\+\_\+sse.\+c and conv\+\_\+acc\+\_\+sse\+\_\+avx.\+c }{\pageref{conv__acc__sse__impl_8h}}{}
\item\contentsline{section}{src/core/\textbf{ counter.\+c} \\*Utility routines for keeping some statistics }{\pageref{counter_8c}}{}
\item\contentsline{section}{src/core/\textbf{ crc16.\+c} \\*This was copied from the linux kernel and adjusted for our types }{\pageref{crc16_8c}}{}
\item\contentsline{section}{src/core/\textbf{ crc16gen.\+c} \\*Osmocom generic CRC routines (for max 16 bits poly) }{\pageref{crc16gen_8c}}{}
\item\contentsline{section}{src/core/\textbf{ crc32gen.\+c} \\*Osmocom generic CRC routines (for max 32 bits poly) }{\pageref{crc32gen_8c}}{}
\item\contentsline{section}{src/core/\textbf{ crc64gen.\+c} \\*Osmocom generic CRC routines (for max 64 bits poly) }{\pageref{crc64gen_8c}}{}
\item\contentsline{section}{src/core/\textbf{ crc8gen.\+c} \\*Osmocom generic CRC routines (for max 8 bits poly) }{\pageref{crc8gen_8c}}{}
\item\contentsline{section}{src/core/\textbf{ exec.\+c} }{\pageref{exec_8c}}{}
\item\contentsline{section}{src/core/\textbf{ fsm.\+c} \\*Osmocom generic Finite State Machine implementation }{\pageref{fsm_8c}}{}
\item\contentsline{section}{src/core/\textbf{ gsmtap\+\_\+util.\+c} \\*GSMTAP support code in libosmocore }{\pageref{gsmtap__util_8c}}{}
\item\contentsline{section}{src/core/\textbf{ isdnhdlc.\+c} }{\pageref{isdnhdlc_8c}}{}
\item\contentsline{section}{src/core/\textbf{ it\+\_\+q.\+c} \\*Osmocom Inter-\/\+Thread queue implementation }{\pageref{it__q_8c}}{}
\item\contentsline{section}{src/core/\textbf{ logging.\+c} \\*Debugging/\+Logging support code }{\pageref{logging_8c}}{}
\item\contentsline{section}{src/core/\textbf{ logging\+\_\+gsmtap.\+c} \\*Libosmocore log output encapsulated in GSMTAP }{\pageref{logging__gsmtap_8c}}{}
\item\contentsline{section}{src/core/\textbf{ logging\+\_\+syslog.\+c} \\*Syslog logging support code }{\pageref{logging__syslog_8c}}{}
\item\contentsline{section}{src/core/\textbf{ logging\+\_\+systemd.\+c} }{\pageref{logging__systemd_8c}}{}
\item\contentsline{section}{src/core/\textbf{ loggingrb.\+c} \\*Ringbuffer-\/backed logging support code }{\pageref{loggingrb_8c}}{}
\item\contentsline{section}{src/core/\textbf{ macaddr.\+c} \\*MAC address utility routines }{\pageref{macaddr_8c}}{}
\item\contentsline{section}{src/core/\textbf{ mnl.\+c} \\*This code integrates libmnl (minimal netlink library) into the osmocom select loop abstraction }{\pageref{mnl_8c}}{}
\item\contentsline{section}{src/core/\textbf{ msgb.\+c} }{\pageref{msgb_8c}}{}
\item\contentsline{section}{src/core/\textbf{ msgfile.\+c} \\*Parse a simple file with messages, e.\+g used for USSD messages }{\pageref{msgfile_8c}}{}
\item\contentsline{section}{src/core/\textbf{ netdev.\+c} \\*Example lifecycle use of the API\+: }{\pageref{netdev_8c}}{}
\item\contentsline{section}{src/core/\textbf{ netns.\+c} }{\pageref{netns_8c}}{}
\item\contentsline{section}{src/core/\textbf{ osmo\+\_\+io.\+c} }{\pageref{osmo__io_8c}}{}
\item\contentsline{section}{src/core/\textbf{ osmo\+\_\+io\+\_\+internal.\+h} }{\pageref{osmo__io__internal_8h}}{}
\item\contentsline{section}{src/core/\textbf{ osmo\+\_\+io\+\_\+poll.\+c} \\*New osmocom async I/O API }{\pageref{osmo__io__poll_8c}}{}
\item\contentsline{section}{src/core/\textbf{ osmo\+\_\+io\+\_\+uring.\+c} \\*Io\+\_\+uring backend for osmo\+\_\+io }{\pageref{osmo__io__uring_8c}}{}
\item\contentsline{section}{src/core/\textbf{ panic.\+c} \\*Routines for panic handling }{\pageref{panic_8c}}{}
\item\contentsline{section}{src/core/\textbf{ plugin.\+c} \\*Routines for loading and managing shared library plug-\/ins }{\pageref{plugin_8c}}{}
\item\contentsline{section}{src/core/\textbf{ prbs.\+c} }{\pageref{prbs_8c}}{}
\item\contentsline{section}{src/core/\textbf{ prim.\+c} }{\pageref{prim_8c}}{}
\item\contentsline{section}{src/core/\textbf{ probes.\+d} }{\pageref{probes_8d}}{}
\item\contentsline{section}{src/core/\textbf{ rate\+\_\+ctr.\+c} }{\pageref{rate__ctr_8c}}{}
\item\contentsline{section}{src/core/\textbf{ rbtree.\+c} }{\pageref{rbtree_8c}}{}
\item\contentsline{section}{src/core/\textbf{ select.\+c} \\*Select filedescriptor handling }{\pageref{select_8c}}{}
\item\contentsline{section}{src/core/\textbf{ sercomm.\+c} }{\pageref{sercomm_8c}}{}
\item\contentsline{section}{src/core/\textbf{ serial.\+c} \\*Utility functions to deal with serial ports }{\pageref{serial_8c}}{}
\item\contentsline{section}{src/core/\textbf{ signal.\+c} \\*Generic signalling/notification infrastructure }{\pageref{signal_8c}}{}
\item\contentsline{section}{src/core/\textbf{ sockaddr\+\_\+str.\+c} \\*Common implementation to store an IP address and port }{\pageref{sockaddr__str_8c}}{}
\item\contentsline{section}{src/core/\textbf{ socket.\+c} }{\pageref{socket_8c}}{}
\item\contentsline{section}{src/core/\textbf{ soft\+\_\+uart.\+c} \\*Software UART implementation }{\pageref{soft__uart_8c}}{}
\item\contentsline{section}{src/core/\textbf{ stat\+\_\+item.\+c} \\*Utility routines for keeping statistical values }{\pageref{stat__item_8c}}{}
\item\contentsline{section}{src/core/\textbf{ stat\+\_\+item\+\_\+internal.\+h} \\*Internal definitions for the \doxyref{osmo\+\_\+stat\+\_\+item}{p.}{structosmo__stat__item} API }{\pageref{stat__item__internal_8h}}{}
\item\contentsline{section}{src/core/\textbf{ stats.\+c} }{\pageref{stats_8c}}{}
\item\contentsline{section}{src/core/\textbf{ stats\+\_\+statsd.\+c} }{\pageref{stats__statsd_8c}}{}
\item\contentsline{section}{src/core/\textbf{ stats\+\_\+tcp.\+c} }{\pageref{stats__tcp_8c}}{}
\item\contentsline{section}{src/core/\textbf{ strrb.\+c} \\*Ringbuffer implementation, tailored for logging }{\pageref{strrb_8c}}{}
\item\contentsline{section}{src/core/\textbf{ tdef.\+c} \\*Implementation to define Tnnn timers globally and use for FSM state changes }{\pageref{tdef_8c}}{}
\item\contentsline{section}{src/core/\textbf{ thread.\+c} }{\pageref{thread_8c}}{}
\item\contentsline{section}{src/core/\textbf{ time\+\_\+cc.\+c} }{\pageref{time__cc_8c}}{}
\item\contentsline{section}{src/core/\textbf{ timer.\+c} }{\pageref{timer_8c}}{}
\item\contentsline{section}{src/core/\textbf{ timer\+\_\+clockgettime.\+c} \\*Overriding Time\+: \doxyref{osmo\+\_\+clock\+\_\+gettime()}{p.}{group__timer_gac11a65dfcd1245fa716356d3650d2a6e} }{\pageref{timer__clockgettime_8c}}{}
\item\contentsline{section}{src/core/\textbf{ timer\+\_\+gettimeofday.\+c} \\*Overriding Time\+: \doxyref{osmo\+\_\+gettimeofday()}{p.}{group__timer_ga8c559c124f4720d0a54af5f206681049} }{\pageref{timer__gettimeofday_8c}}{}
\item\contentsline{section}{src/core/\textbf{ tun.\+c} }{\pageref{tun_8c}}{}
\item\contentsline{section}{src/core/\textbf{ use\+\_\+count.\+c} \\*Generic object usage counter Implementation (get, put and deallocate on zero count) }{\pageref{use__count_8c}}{}
\item\contentsline{section}{src/core/\textbf{ utils.\+c} }{\pageref{utils_8c}}{}
\item\contentsline{section}{src/core/\textbf{ write\+\_\+queue.\+c} }{\pageref{write__queue_8c}}{}
\end{DoxyCompactList}
