API {#index} === There are many libraries, so their headers may be grouped by topics: - **device**: [ethdev] (@ref rte_ethdev.h), [devargs] (@ref rte_devargs.h), [KNI] (@ref rte_kni.h), [PCI] (@ref rte_pci.h), [PCI IDs] (@ref rte_pci_dev_ids.h) - **memory**: [memseg] (@ref rte_memory.h), [memzone] (@ref rte_memzone.h), [mempool] (@ref rte_mempool.h), [malloc] (@ref rte_malloc.h), [memcpy] (@ref rte_memcpy.h) - **timers**: [cycles] (@ref rte_cycles.h), [timer] (@ref rte_timer.h), [alarm] (@ref rte_alarm.h) - **locks**: [atomic] (@ref rte_atomic.h), [rwlock] (@ref rte_rwlock.h), [spinlock] (@ref rte_spinlock.h) - **CPU arch**: [branch prediction] (@ref rte_branch_prediction.h), [cache prefetch] (@ref rte_prefetch.h), [byte order] (@ref rte_byteorder.h), [CPU flags] (@ref rte_cpuflags.h) - **CPU multicore**: [interrupts] (@ref rte_interrupts.h), [launch] (@ref rte_launch.h), [lcore] (@ref rte_lcore.h), [per-lcore] (@ref rte_per_lcore.h), [power/freq] (@ref rte_power.h) - **layers**: [ethernet] (@ref rte_ether.h), [IP] (@ref rte_ip.h), [SCTP] (@ref rte_sctp.h), [TCP] (@ref rte_tcp.h), [UDP] (@ref rte_udp.h), [LPM route] (@ref rte_lpm.h) - **QoS**: [metering] (@ref rte_meter.h), [scheduler] (@ref rte_sched.h), [RED congestion] (@ref rte_red.h) - **hashes**: [hash] (@ref rte_hash.h), [jhash] (@ref rte_jhash.h), [FBK hash] (@ref rte_fbk_hash.h), [CRC hash] (@ref rte_hash_crc.h) - **containers**: [mbuf] (@ref rte_mbuf.h), [ring] (@ref rte_ring.h), [tailq] (@ref rte_tailq.h), [bitmap] (@ref rte_bitmap.h) - **basic**: [approx fraction] (@ref rte_approx.h), [random] (@ref rte_random.h), [key/value args] (@ref rte_kvargs.h), [string] (@ref rte_string_fns.h), - **debug**: [debug] (@ref rte_debug.h), [log] (@ref rte_log.h), [warnings] (@ref rte_warnings.h), [errno] (@ref rte_errno.h) - **misc**: [EAL config] (@ref rte_eal.h), [common] (@ref rte_common.h), [version] (@ref rte_version.h)