diff options
author | Freya Murphy <freya@freyacat.org> | 2025-03-27 11:39:12 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-03-27 11:39:12 -0400 |
commit | 0ff301cda68669c59351e5854ce98f2cf460543f (patch) | |
tree | cfe8f976261962420ada64b821559b9da0a56841 /include/lib.h | |
parent | add compile_flags.txt for clangd lsp (diff) | |
download | comus-0ff301cda68669c59351e5854ce98f2cf460543f.tar.gz comus-0ff301cda68669c59351e5854ce98f2cf460543f.tar.bz2 comus-0ff301cda68669c59351e5854ce98f2cf460543f.zip |
pull upstream changes, add auto formatting
Diffstat (limited to 'include/lib.h')
-rw-r--r-- | include/lib.h | 69 |
1 files changed, 48 insertions, 21 deletions
diff --git a/include/lib.h b/include/lib.h index bd19111..d47c9d0 100644 --- a/include/lib.h +++ b/include/lib.h @@ -24,6 +24,21 @@ */ /** +** blkmov(dst,src,len) +** +** Copy a word-aligned block from src to dst. Deals with overlapping +** buffers. +** +** If the buffer addresses aren't word-aligned or the length is not a +** multiple of four, calls memmove(). +** +** @param dst Destination buffer +** @param src Source buffer +** @param len Buffer size (in bytes) +*/ +void blkmov(void *dst, const void *src, register uint32_t len); + +/** ** memset(buf,len,value) ** ** initialize all bytes of a block of memory to a specific value @@ -32,7 +47,7 @@ ** @param len Buffer size (in bytes) ** @param value Initialization value */ -void memset( void *buf, register uint32_t len, register uint32_t value ); +void memset(void *buf, register uint32_t len, register uint32_t value); /** ** memclr(buf,len) @@ -42,7 +57,7 @@ void memset( void *buf, register uint32_t len, register uint32_t value ); ** @param buf The buffer to initialize ** @param len Buffer size (in bytes) */ -void memclr( void *buf, register uint32_t len ); +void memclr(void *buf, register uint32_t len); /** ** memcpy(dst,src,len) @@ -55,7 +70,19 @@ void memclr( void *buf, register uint32_t len ); ** @param src Source buffer ** @param len Buffer size (in bytes) */ -void memcpy( void *dst, register const void *src, register uint32_t len ); +void memcpy(void *dst, register const void *src, register uint32_t len); + +/** +** memmove(dst,src,len) +** +** Copy a block from one place to another. Deals with overlapping +** buffers +** +** @param dst Destination buffer +** @param src Source buffer +** @param len Buffer size (in bytes) +*/ +void memmove(void *dst, register const void *src, register uint32_t len); /* ********************************************** @@ -71,7 +98,7 @@ void memcpy( void *dst, register const void *src, register uint32_t len ); ** ** @return The converted integer */ -int str2int( register const char *str, register int base ); +int str2int(register const char *str, register int base); /** ** strlen(str) - return length of a NUL-terminated string @@ -80,7 +107,7 @@ int str2int( register const char *str, register int base ); ** ** @return The length of the string, or 0 */ -uint32_t strlen( register const char *str ); +uint32_t strlen(register const char *str); /** ** strcmp(s1,s2) - compare two NUL-terminated strings @@ -90,7 +117,7 @@ uint32_t strlen( register const char *str ); ** ** @return negative if s1 < s2, zero if equal, and positive if s1 > s2 */ -int strcmp( register const char *s1, register const char *s2 ); +int strcmp(register const char *s1, register const char *s2); /** ** strcpy(dst,src) - copy a NUL-terminated string @@ -102,7 +129,7 @@ int strcmp( register const char *s1, register const char *s2 ); ** ** NOTE: assumes dst is large enough to hold the copied string */ -char *strcpy( register char *dst, register const char *src ); +char *strcpy(register char *dst, register const char *src); /** ** strcat(dst,src) - append one string to another @@ -114,7 +141,7 @@ char *strcpy( register char *dst, register const char *src ); ** ** NOTE: assumes dst is large enough to hold the resulting string */ -char *strcat( register char *dst, register const char *src ); +char *strcat(register char *dst, register const char *src); /** ** pad(dst,extra,padchar) - generate a padding string @@ -127,7 +154,7 @@ char *strcat( register char *dst, register const char *src ); ** ** NOTE: does NOT NUL-terminate the buffer */ -char *pad( char *dst, int extra, int padchar ); +char *pad(char *dst, int extra, int padchar); /** ** padstr(dst,str,len,width,leftadjust,padchar - add padding characters @@ -144,8 +171,8 @@ char *pad( char *dst, int extra, int padchar ); ** ** NOTE: does NOT NUL-terminate the buffer */ -char *padstr( char *dst, char *str, int len, int width, - int leftadjust, int padchar ); +char *padstr(char *dst, char *str, int len, int width, int leftadjust, + int padchar); /** ** sprint(dst,fmt,...) - formatted output into a string buffer @@ -162,7 +189,7 @@ char *padstr( char *dst, char *str, int len, int width, ** (parameters are pushed onto the stack in reverse order as ** 32-bit values). */ -void sprint( char *dst, char *fmt, ... ); +void sprint(char *dst, char *fmt, ...); /* ********************************************** @@ -182,7 +209,7 @@ void sprint( char *dst, char *fmt, ... ); ** ** NOTE: assumes buf is large enough to hold the resulting string */ -char *cvtuns0( char *buf, uint32_t value ); +char *cvtuns0(char *buf, uint32_t value); /** ** cvtuns(buf,value) @@ -196,7 +223,7 @@ char *cvtuns0( char *buf, uint32_t value ); ** ** NOTE: assumes buf is large enough to hold the resulting string */ -int cvtuns( char *buf, uint32_t value ); +int cvtuns(char *buf, uint32_t value); /** ** cvtdec0(buf,value) - local support routine for cvtdec() @@ -211,7 +238,7 @@ int cvtuns( char *buf, uint32_t value ); ** ** NOTE: assumes buf is large enough to hold the resulting string */ -char *cvtdec0( char *buf, int value ); +char *cvtdec0(char *buf, int value); /** ** cvtdec(buf,value) @@ -226,7 +253,7 @@ char *cvtdec0( char *buf, int value ); ** ** NOTE: assumes buf is large enough to hold the resulting string */ -int cvtdec( char *buf, int32_t value ); +int cvtdec(char *buf, int32_t value); /** ** cvthex(buf,value) @@ -242,7 +269,7 @@ int cvtdec( char *buf, int32_t value ); ** ** NOTE: assumes buf is large enough to hold the resulting string */ -int cvthex( char *buf, uint32_t value ); +int cvthex(char *buf, uint32_t value); /** ** cvtoct(buf,value) @@ -258,7 +285,7 @@ int cvthex( char *buf, uint32_t value ); ** ** NOTE: assumes buf is large enough to hold the resulting string */ -int cvtoct( char *buf, uint32_t value ); +int cvtoct(char *buf, uint32_t value); /** ** bound(min,value,max) @@ -271,9 +298,9 @@ int cvtoct( char *buf, uint32_t value ); ** ** @return The constrained value */ -uint32_t bound( uint32_t min, uint32_t value, uint32_t max ); +uint32_t bound(uint32_t min, uint32_t value, uint32_t max); -#endif /* !ASM_SRC */ +#endif /* !ASM_SRC */ /* ** Finally, pull in the level-specific library headers @@ -282,6 +309,6 @@ uint32_t bound( uint32_t min, uint32_t value, uint32_t max ); #include <klib.h> #else #include <ulib.h> -#endif /* KERNEL_SRC */ +#endif /* KERNEL_SRC */ #endif |