Index: libsm/index.c
===================================================================
--- libsm/index.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/index.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -5,4 +5,6 @@
    ============================================================================
 */
+
+#include "all.h"
 
 int8_t *index(int8_t *str, int8_t c)
Index: libsm/index.x
===================================================================
--- libsm/index.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/index.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	index.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*index(int8_t *str, int8_t c);
+
Index: libsm/memccpy.c
===================================================================
--- libsm/memccpy.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memccpy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -11,4 +11,6 @@
 */
 
+#include "all.h"
+
 void *memccpy(void *vp1, void *vp2, int8_t c, int16_t n)
 {
Index: libsm/memccpy.x
===================================================================
--- libsm/memccpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memccpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memccpy.c -- global functions
+   =============================================================================
+*/
+
+extern	void		*memccpy(void *vp1, void *vp2, int8_t c, int16_t n);
+
Index: libsm/memchr.c
===================================================================
--- libsm/memchr.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memchr.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 void *memchr(void *vp, int8_t c, int16_t n)
Index: libsm/memchr.x
===================================================================
--- libsm/memchr.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memchr.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memchr.c -- global functions
+   =============================================================================
+*/
+
+extern	void		*memchr(void *vp, int8_t c, int16_t n);
+
Index: libsm/memcmp.c
===================================================================
--- libsm/memcmp.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memcmp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -7,4 +7,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int16_t memcmp(void *vp1, void *vp2, int16_t n)
Index: libsm/memcmp.x
===================================================================
--- libsm/memcmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memcmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memcmp.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		memcmp(void *vp1, void *vp2, int16_t n);
+
Index: libsm/memcmpu.c
===================================================================
--- libsm/memcmpu.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memcmpu.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -6,5 +6,5 @@
 */
 
-#include "ctype.h"
+#include "all.h"
 
 int16_t memcmpu(void *vp1, void *vp2, int16_t n)
@@ -36,2 +36,3 @@
 	return(0);
 }
+
Index: libsm/memcmpu.x
===================================================================
--- libsm/memcmpu.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memcmpu.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memcmpu.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		memcmpu(void *vp1, void *vp2, int16_t n);
+
Index: libsm/memcpy.c
===================================================================
--- libsm/memcpy.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memcpy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
  */
+
+#include "all.h"
 
 void *memcpy(void *vp1, void *vp2, int16_t n)
Index: libsm/memcpy.x
===================================================================
--- libsm/memcpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memcpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memcpy.c -- global functions
+   =============================================================================
+*/
+
+extern	void		*memcpy(void *vp1, void *vp2, int16_t n);
+
Index: libsm/memcpyw.c
===================================================================
--- libsm/memcpyw.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memcpyw.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 void *memcpyw(void *vp1, void *vp2, int16_t n)
Index: libsm/memcpyw.x
===================================================================
--- libsm/memcpyw.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memcpyw.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memcpyw.c -- global functions
+   =============================================================================
+*/
+
+extern	void		*memcpyw(void *vp1, void *vp2, int16_t n);
+
Index: libsm/memset.c
===================================================================
--- libsm/memset.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memset.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -9,4 +9,6 @@
 */
 
+#include "all.h"
+
 void *memset(void *vp, int8_t c, int16_t n)
 {
Index: libsm/memset.x
===================================================================
--- libsm/memset.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memset.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memset.c -- global functions
+   =============================================================================
+*/
+
+extern	void		*memset(void *vp, int8_t c, int16_t n);
+
Index: libsm/memsetw.c
===================================================================
--- libsm/memsetw.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/memsetw.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -9,4 +9,6 @@
 */
 
+#include "all.h"
+
 void *memsetw(void *vp, int16_t s, int16_t n)
 {
Index: libsm/memsetw.x
===================================================================
--- libsm/memsetw.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/memsetw.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	memsetw.c -- global functions
+   =============================================================================
+*/
+
+extern	void		*memsetw(void *vp, int16_t s, int16_t n);
+
Index: libsm/rindex.c
===================================================================
--- libsm/rindex.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/rindex.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -5,4 +5,6 @@
    ============================================================================
 */
+
+#include "all.h"
 
 int8_t *rindex(int8_t *str, int8_t c)
Index: libsm/rindex.x
===================================================================
--- libsm/rindex.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/rindex.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	rindex.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*rindex(int8_t *str, int8_t c);
+
Index: libsm/str2lc.c
===================================================================
--- libsm/str2lc.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/str2lc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -6,5 +6,5 @@
 */
 
-#include "ctype.h"
+#include "all.h"
 
 int8_t *str2lc(int8_t *s)
@@ -18,2 +18,3 @@
 	return(r);
 }
+
Index: libsm/str2lc.x
===================================================================
--- libsm/str2lc.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/str2lc.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	str2lc.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*str2lc(int8_t *s);
+
Index: libsm/str2uc.c
===================================================================
--- libsm/str2uc.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/str2uc.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -6,5 +6,5 @@
 */
 
-#include "ctype.h"
+#include "all.h"
 
 int8_t *str2uc(int8_t *s)
@@ -18,2 +18,3 @@
 	return(r);
 }
+
Index: libsm/str2uc.x
===================================================================
--- libsm/str2uc.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/str2uc.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	str2uc.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*str2uc(int8_t *s);
+
Index: libsm/strcat.c
===================================================================
--- libsm/strcat.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strcat.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strcat(int8_t *s1, int8_t *s2)
Index: libsm/strcat.x
===================================================================
--- libsm/strcat.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strcat.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strcat.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strcat(int8_t *s1, int8_t *s2);
+
Index: libsm/strccpy.c
===================================================================
--- libsm/strccpy.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strccpy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -16,4 +16,6 @@
  */
 
+#include "all.h"
+
 int8_t *strccpy(int8_t *s1, int8_t *s2, int8_t c)
 {
Index: libsm/strccpy.x
===================================================================
--- libsm/strccpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strccpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strccpy.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strccpy(int8_t *s1, int8_t *s2, int8_t c);
+
Index: libsm/strchr.c
===================================================================
--- libsm/strchr.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strchr.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,5 +8,5 @@
 */
 
-#define NULL    0
+#include "all.h"
 
 int8_t *strchr(int8_t *sp, int8_t c)
Index: libsm/strchr.x
===================================================================
--- libsm/strchr.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strchr.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strchr.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strchr(int8_t *sp, int8_t c);
+
Index: libsm/strcmp.c
===================================================================
--- libsm/strcmp.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strcmp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -7,4 +7,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int16_t strcmp(int8_t *s1, int8_t *s2)
Index: libsm/strcmp.x
===================================================================
--- libsm/strcmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strcmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strcmp.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		strcmp(int8_t *s1, int8_t *s2);
+
Index: libsm/strcpy.c
===================================================================
--- libsm/strcpy.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strcpy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strcpy(int8_t *s1, int8_t *s2)
Index: libsm/strcpy.x
===================================================================
--- libsm/strcpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strcpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strcpy.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strcpy(int8_t *s1, int8_t *s2);
+
Index: libsm/strcspn.c
===================================================================
--- libsm/strcspn.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strcspn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    ============================================================================
 */
+
+#include "all.h"
 
 int16_t strcspn(int8_t *string, int8_t *charset)
Index: libsm/strcspn.x
===================================================================
--- libsm/strcspn.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strcspn.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strcspn.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		strcspn(int8_t *string, int8_t *charset);
+
Index: libsm/strfill.c
===================================================================
--- libsm/strfill.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strfill.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -12,4 +12,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strfill(int8_t *s, int8_t c, uint16_t n)
Index: libsm/strfill.x
===================================================================
--- libsm/strfill.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strfill.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strfill.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strfill(int8_t *s, int8_t c, uint16_t n);
+
Index: libsm/strlcmp.c
===================================================================
--- libsm/strlcmp.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strlcmp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -15,5 +15,5 @@
 */
 
-#include "strings.h"
+#include "all.h"
 
 int16_t strlcmp(int8_t *s, int8_t *l[])
@@ -33,2 +33,3 @@
 	return(0);
 }
+
Index: libsm/strlcmp.x
===================================================================
--- libsm/strlcmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strlcmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strlcmp.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		strlcmp(int8_t *s, int8_t *l[]);
+
Index: libsm/strlen.c
===================================================================
--- libsm/strlen.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strlen.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,5 @@
 */
 
+#include "all.h"
 
 int16_t strlen(int8_t *s)
Index: libsm/strlen.x
===================================================================
--- libsm/strlen.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strlen.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strlen.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		strlen(int8_t *s);
+
Index: libsm/strltrm.c
===================================================================
--- libsm/strltrm.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strltrm.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,5 +8,5 @@
 */
 
-#include "stddefs.h"
+#include "all.h"
 
 int8_t *strltrm(int8_t *s)
@@ -31,2 +31,3 @@
 	return(s);
 }
+
Index: libsm/strltrm.x
===================================================================
--- libsm/strltrm.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strltrm.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strltrm.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strltrm(int8_t *s);
+
Index: libsm/strncat.c
===================================================================
--- libsm/strncat.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strncat.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -9,4 +9,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strncat(int8_t *s1, int8_t *s2, int16_t n)
Index: libsm/strncat.x
===================================================================
--- libsm/strncat.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strncat.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strncat.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strncat(int8_t *s1, int8_t *s2, int16_t n);
+
Index: libsm/strncmp.c
===================================================================
--- libsm/strncmp.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strncmp.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int16_t strncmp(int8_t *s1, int8_t *s2, int16_t n)
Index: libsm/strncmp.x
===================================================================
--- libsm/strncmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strncmp.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strncmp.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		strncmp(int8_t *s1, int8_t *s2, int16_t n);
+
Index: libsm/strncpy.c
===================================================================
--- libsm/strncpy.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strncpy.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strncpy(int8_t *s1, int8_t *s2, int16_t n)
Index: libsm/strncpy.x
===================================================================
--- libsm/strncpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strncpy.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strncpy.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strncpy(int8_t *s1, int8_t *s2, int16_t n);
+
Index: libsm/strpbrk.c
===================================================================
--- libsm/strpbrk.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strpbrk.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strpbrk(int8_t *string, int8_t *brkset)
Index: libsm/strpbrk.x
===================================================================
--- libsm/strpbrk.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strpbrk.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strpbrk.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strpbrk(int8_t *string, int8_t *brkset);
+
Index: libsm/strrchr.c
===================================================================
--- libsm/strrchr.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strrchr.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -9,5 +9,5 @@
 */
 
-#define	NULL	(int8_t *)0
+#include "all.h"
 
 int8_t *strrchr(int8_t *sp, int8_t c)
Index: libsm/strrchr.x
===================================================================
--- libsm/strrchr.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strrchr.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strrchr.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strrchr(int8_t *sp, int8_t c);
+
Index: libsm/strrev.c
===================================================================
--- libsm/strrev.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strrev.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -13,4 +13,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strrev(int8_t *s1, int8_t *s2)
Index: libsm/strrev.x
===================================================================
--- libsm/strrev.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strrev.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strrev.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strrev(int8_t *s1, int8_t *s2);
+
Index: libsm/strrevi.c
===================================================================
--- libsm/strrevi.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strrevi.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -11,4 +11,6 @@
    =============================================================================
 */
+
+#include "all.h"
 
 int8_t *strrevi(int8_t *s)
Index: libsm/strrevi.x
===================================================================
--- libsm/strrevi.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strrevi.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strrevi.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strrevi(int8_t *s);
+
Index: libsm/strrtrm.c
===================================================================
--- libsm/strrtrm.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strrtrm.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,5 +8,5 @@
 */
 
-#include "stddefs.h"
+#include "all.h"
 
 int8_t *strrtrm(int8_t *s)
@@ -30,2 +30,3 @@
 	return(lp);
 }
+
Index: libsm/strrtrm.x
===================================================================
--- libsm/strrtrm.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strrtrm.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strrtrm.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strrtrm(int8_t *s);
+
Index: libsm/strspn.c
===================================================================
--- libsm/strspn.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strspn.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -8,4 +8,6 @@
    ============================================================================
 */
+
+#include "all.h"
 
 int16_t strspn(int8_t *string, int8_t *charset)
Index: libsm/strspn.x
===================================================================
--- libsm/strspn.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strspn.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strspn.c -- global functions
+   =============================================================================
+*/
+
+extern	int16_t		strspn(int8_t *string, int8_t *charset);
+
Index: libsm/strtok.c
===================================================================
--- libsm/strtok.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strtok.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -11,8 +11,5 @@
 */
 
-#define	NULL	(int8_t *)0
-
-extern int16_t strspn(int8_t *string, int8_t *charset);
-extern int8_t *strpbrk(int8_t *string, int8_t *brkset);
+#include "all.h"
 
 int8_t *strtok(int8_t *string, int8_t *sepset)
Index: libsm/strtok.x
===================================================================
--- libsm/strtok.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strtok.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strtok.c -- global functions
+   =============================================================================
+*/
+
+extern	int8_t		*strtok(int8_t *string, int8_t *sepset);
+
Index: libsm/strtol.c
===================================================================
--- libsm/strtol.c	(revision e225e77aba20391e2188eb15a49190b1d473d368)
+++ libsm/strtol.c	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -6,5 +6,5 @@
 */
 
-#include "ctype.h"
+#include "all.h"
 
 #define DIGIT(x) (isdigit(x) ? (x)-'0' : islower(x) ? (x)+10-'a' : (x)+10-'A')
@@ -67,2 +67,3 @@
 	return (neg ? val : -val);
 }
+
Index: libsm/strtol.x
===================================================================
--- libsm/strtol.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
+++ libsm/strtol.x	(revision 39a696bd71d6ae6c71a378daf9b52b4be6f64983)
@@ -0,0 +1,12 @@
+#pragma once
+
+#include "stdint.h"
+
+/*
+   =============================================================================
+	strtol.c -- global functions
+   =============================================================================
+*/
+
+extern	int32_t		strtol(int8_t *str, int8_t **ptr, int16_t base);
+
