]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/libsa/string.h
xnu-1456.1.26.tar.gz
[apple/xnu.git] / osfmk / libsa / string.h
index e4b4df0db26b8eaaf54ffb867475cb32a49cbe0d..c94f56dd7de2be312e7e47907ba30926a56345c5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2006 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
+ * NOTICE: This file was modified by McAfee Research in 2004 to introduce
+ * support for mandatory and extensible security protections.  This notice
+ * is included in support of clause 2.2 (b) of the Apple Public License,
+ * Version 2.0.
+ */
+/*
+   * HISTORY
  * @OSF_COPYRIGHT@
  */
 #ifndef        _STRING_H_
@@ -42,7 +49,11 @@ extern "C" {
 #endif
 
 #ifndef        NULL
-#define NULL   0
+#if defined (__cplusplus)
+#define NULL 0
+#else
+#define NULL ((void *)0)
+#endif
 #endif
 
 extern void    *memcpy(void *, const void *, size_t);
@@ -51,15 +62,28 @@ extern void *memmove(void *, const void *, size_t);
 extern void    *memset(void *, int, size_t);
 
 extern size_t  strlen(const char *);
-extern char    *strcpy(char *, const char *);
+extern size_t  strnlen(const char *, size_t);
+
+/* strcpy() is being deprecated. Please use strlcpy() instead. */
+extern char    *strcpy(char *, const char *) __deprecated;
 extern char    *strncpy(char *, const char *, size_t);
-extern char    *strcat(char *, const char *);
+
+extern size_t  strlcat(char *, const char *, size_t);
+extern size_t  strlcpy(char *, const char *, size_t);
+
+/* strcat() is being deprecated. Please use strlcat() instead. */
+extern char    *strcat(char *, const char *) __deprecated;
 extern char    *strncat(char *, const char *, size_t);
+
+/* strcmp() is being deprecated. Please use strncmp() instead. */
 extern int     strcmp(const char *, const char *);
 extern int     strncmp(const char *,const char *, size_t);
+
 extern int     strcasecmp(const char *s1, const char *s2);
 extern int     strncasecmp(const char *s1, const char *s2, size_t n);
 extern char    *strchr(const char *s, int c);
+extern char    *STRDUP(const char *, int);
+extern int     strprefix(const char *s1, const char *s2);
 
 extern int     bcmp(const void *, const void *, size_t);
 extern void    bcopy(const void *, void *, size_t);