RTE OSAdapter POSIX 0.1.0 build 41b3eb3
POSIX/Linux OAL OSAdapter for Platform_RTE
Loading...
Searching...
No Matches
src Directory Reference
Directory dependency graph for src:

Files

 
rte_posix_osadapter.c
 Aggregator: registers the POSIX OSAdapter with every OAL service in one call (ADR-018 section 2.1).
 
rte_posix_osadapter_channel_service.c
 POSIX named-channel adapter.
 
rte_posix_osadapter_ipc.c
 POSIX rte_ipc OSAdapter: one pipe() per channel (ADR-018 section 2.2/2.3 - a mutex+condvar ring buffer would not fit rte_ipc's 64-byte opaque storage on glibc; a pipe lets the kernel own the queue instead).
 
rte_posix_osadapter_lock.c
 Bounded wait for a pthread mutex (OSA rule R2), shared by the mutex OSAdapter's lock_timed (REQ-OAL-MUTEX-014) and the memory OSAdapter's pool lock (REQ-OAL-MEM-015). Semantics and the two host variants are documented on posix_osa_lock_bounded() in rte_posix_osadapter_lock.h. Moved here unchanged from rte_posix_osadapter_mutex.c (2026-10-03) so both callers use one implementation.
 
rte_posix_osadapter_lock.h
 Private helper: a bounded wait for a pthread mutex (OSA rule R2: every wait bounded).
 
rte_posix_osadapter_log.c
 POSIX rte_log OSAdapter: non-blocking best-effort write to stderr (ADR-018 section 2.3), matching REQ-OAL-LOG-001 ("best-effort, non-blocking, must never affect caller control flow").
 
rte_posix_osadapter_memory.c
 POSIX rte_memory OSAdapter: a single fixed-size static byte arena with a per-pool intrusive free list carved out of it at rte_mem_pool_create() time (ADR-018 section 2.3).
 
rte_posix_osadapter_mutex.c
 POSIX rte_mutex OSAdapter: a thin wrapper over pthread_mutex_t (ADR-033, safeAPIFreamwork). This is the ONE file in the whole stack allowed to touch pthread_mutex_* directly - see rte_mutex.h's own doc for why an application must never do so itself.
 
rte_posix_osadapter_nvm.c
 POSIX rte_nvm OSAdapter: one plain file per region, with a whole-region FNV-1a-64 hash trailer recomputed on every write and verified on every read (ADR-018 section 2.3), satisfying REQ-OAL-NVM-001's "every read shall be integrity-checked" via a single trailing hash rather than a redundant-copy vote.
 
rte_posix_osadapter_period.c
 Pacing of a periodic thread by an absolute CLOCK_MONOTONIC deadline (OSA rule R3), shared by the timer OSAdapter's thread loop and the task OSAdapter's periodic loop, and its wake-up by a stop (OSA rule R2, audit item 7b-1). Semantics, the two host variants, why no wake-up is lost and the known limits are documented in rte_posix_osadapter_period.h. Replaces the per-file ms_to_timespec() / timespec_add_ms() copies of rte_posix_osadapter_timer.c and rte_posix_osadapter_task.c (2026-10-04): before, a non-Linux host slept a fresh relative period after every callback (the period drifted by the callback's run time) and a failed first clock read on Linux started the deadline at 0. Before 7b-1 (2026-10-04) the wait was a clock_nanosleep() (Linux) / nanosleep() (other hosts) that a stop could not interrupt, so stop, suspend and destroy waited up to one period for the thread to see its stop flag.
 
rte_posix_osadapter_period.h
 Private helper: pacing of a periodic thread by an absolute CLOCK_MONOTONIC deadline (OSA rule R3), and the wake-up of a waiting periodic thread by a stop (OSA rule R2, audit item 7b-1).
 
rte_posix_osadapter_platform.c
 POSIX rte_platform OSAdapter: real-time bring-up for a PREEMPT_RT Linux host (ADR-018, ADR-035).
 
rte_posix_osadapter_poll.h
 Private helpers: millisecond waits for poll()'s int timeout argument.
 
rte_posix_osadapter_random.c
 POSIX rte_random OSAdapter: the kernel CSPRNG via getentropy() (Linux glibc 2.25+, macOS 10.12+).
 
rte_posix_osadapter_reboot.c
 POSIX rte_reboot OSAdapter: execv() re-exec of the current binary (ADR-018 section 2.3), resolved portably per-OS since there is no single POSIX-standard way to ask "what is my own executable path.".
 
rte_posix_osadapter_report.h
 Private helper: reports a real-time attribute this OSAdapter could not apply (OSA rules R1/R2/R6).
 
rte_posix_osadapter_sockbuf.c
 Socket buffer sizes of a link config (OSA rules R5, R6; Platform_RTE REQ-OAL-NETLINK-015), shared by the netlink OSAdapter (at open) and the channel service OSAdapter (at every socket (re)init). Semantics are documented on posix_socket_apply_buffers() in rte_posix_osadapter_sockbuf.h.
 
rte_posix_osadapter_sockbuf.h
 Private helper: applies the socket buffer sizes of a link config (OSA rules R5, R6).
 
rte_posix_osadapter_socket.c
 POSIX implementation of the raw OS socket layer (rte_os_socket_ops_t).
 
rte_posix_osadapter_task.c
 POSIX rte_task OSAdapter: one pthread per task (ADR-018 section 2.3). period_ms > 0 runs entry in a loop paced by an absolute CLOCK_MONOTONIC deadline; period_ms == 0 runs entry once.
 
rte_posix_osadapter_timer.c
 POSIX rte_timer OSAdapter: one pthread per timer, paced by an absolute CLOCK_MONOTONIC deadline (ADR-018 section 2.3).