summaryrefslogtreecommitdiff
path: root/include/lib.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lib.h')
-rw-r--r--include/lib.h69
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