.TH "avr_string" 3avr "Fri Nov 24 2023 23:59:10" "Version 2.0.0" "avr-libc" \" -*- nroff -*- .ad l .nh .SH NAME avr_string \- : Strings .SH SYNOPSIS .br .PP .SS "Macros" .in +1c .ti -1c .RI "#define \fB_FFS\fP(x)" .br .in -1c .SH "Detailed Description" .PP .PP .nf #include .fi .PP .PP The string functions perform string operations on NULL terminated strings\&. .PP \fBNote\fP .RS 4 If the strings you are working on resident in program space (flash), you will need to use the string functions described in \fB: Program Space Utilities\fP\&. .RE .PP .SH "Macro Definition Documentation" .PP .SS "#define _FFS(x)" This macro finds the first (least significant) bit set in the input value\&. .PP This macro is very similar to the function ffs() except that it evaluates its argument at compile-time, so it should only be applied to compile-time constant expressions where it will reduce to a constant itself\&. Application of this macro to expressions that are not constant at compile-time is not recommended, and might result in a huge amount of code generated\&. .PP \fBReturns\fP .RS 4 The \fB_FFS()\fP macro returns the position of the first (least significant) bit set in the word val, or 0 if no bits are set\&. The least significant bit is position 1\&. Only 16 bits of argument are evaluted\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for avr-libc from the source code\&.