nuttx/libs/libc/misc
Halysson 9014af9ae7 libc/crc: Add crc8rohcincr for incremental CRC8 ROHC calculation
Add crc8rohcincr() function to support byte-by-byte CRC8 calculation
using the ROHC polynomial (0x07) without XOR inversions. This is
useful for protocols that require incremental CRC accumulation,
such as GSM 07.10 (CMUX), where the CRC must be computed as frames
are parsed from circular buffers.

Changes include:
- New crc8rohcincr() function for single-byte incremental CRC
- Function takes current CRC value and returns updated CRC
- Uses same g_crc8_tab table as other ROHC functions
- No XOR inversions applied for proper accumulation

This allows protocols like CMUX to replace local CRC table
implementations with standard libc CRC functions while maintaining
correct incremental calculation behavior.

Signed-off-by: Halysson <halysson1007@gmail.com>
2025-09-30 17:30:46 -03:00
..
CMakeLists.txt libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
Kconfig libc/misc: fix typo error about misc/Kconfig 2025-05-14 15:02:17 +08:00
lib_backtrace.c libs: unify Private Types banners 2025-05-28 10:17:15 +08:00
lib_bitmap.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_circbuf.c circbuf: fix circbuf_get_read/writeptr return *size = 0 when circbuf full 2024-10-16 16:59:51 +08:00
lib_crc8.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc8ccitt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc8rohc.c libc/crc: Add crc8rohcincr for incremental CRC8 ROHC calculation 2025-09-30 17:30:46 -03:00
lib_crc8table.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_crc16.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc16ccitt.c libs/libc/crc16: move crc16 table to rodata 2025-04-07 09:02:01 +08:00
lib_crc16ibm.c libs/libc/crc16: add support of CRC-16/ANSI(aka CRC-16/IBM) 2025-04-07 12:10:05 +08:00
lib_crc16xmodem.c libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00
lib_crc32.c libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
lib_crc64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_cxx_initialize.c userspace: Exclude nuttx/arch.h 2024-11-01 16:59:37 +08:00
lib_debug.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_dumpbuffer.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_dumpvbuffer.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_envpath.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_err.c lib_libvsprintf.c:add option in Kconfig to control "%p*" special format specifier. 2024-10-15 15:33:13 +08:00
lib_fchmodat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_fdcheck.c libc/fdcheck: cause system to panic when a double close occurs 2025-05-14 15:02:17 +08:00
lib_fdsan.c arch_atomic: only support atomic_xx and atomic64_xx function 2024-12-04 14:03:14 +01:00
lib_fnmatch.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_fstatat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_ftok.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_getfullpath.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_getnprocs.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_getrandom.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_glob.c libs: unify Private Types banners 2025-05-28 10:17:15 +08:00
lib_idr.c libc/idr: Remove nodes from RB trees during destroy 2025-07-12 14:24:32 +08:00
lib_impure.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_instrument.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_kbddecode.c stream_getc: use lib_stream_eof instead of EOF 2024-11-26 10:25:36 +08:00
lib_kbdencode.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_mallopt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_memfd.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mkdirat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mkfifo.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mknod.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_mutex.c Clean up the nxmutex library 2025-05-08 16:00:05 +08:00
lib_ncompress.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lib_openat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_slcddecode.c stream_getc: use lib_stream_eof instead of EOF 2024-11-26 10:25:36 +08:00
lib_slcdencode.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tea_decrypt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tea_encrypt.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_tempbuffer.c libs/lib_tempbuffer: set errno when fails 2025-01-17 08:16:14 +08:00
lib_uadd32x64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_uadd64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umask.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul32.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul32x64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_umul64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_usub64.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_usub64x32.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
lib_utimensat.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
lib_utsname.c libc/utsname: Only store version in RAM, use rodata for all others 2024-10-12 15:36:28 +08:00
lib_xorshift128.c libs/libc: migrate to SPDX identifier 2024-10-01 12:25:52 +08:00
Make.defs libs/libc/crc16: Separate implementation of crc16xmodem from crc16 2025-04-10 16:47:28 +08:00