]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/libkern/libkern.h
xnu-792.10.96.tar.gz
[apple/xnu.git] / bsd / libkern / libkern.h
index 25511e50351b2579b911047c6c491f6f418cf99d..6eee3e08c399455f3eaf171dd71041bbfcde2ee8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
 #ifndef _LIBKERN_LIBKERN_H_
 #define _LIBKERN_LIBKERN_H_
 
+#include <sys/appleapiopts.h>
+#include <stdint.h>
+#include <string.h>
 #include <sys/cdefs.h>
 #include <sys/types.h>
+#include <mach/vm_param.h>
 
+#ifdef __APPLE_API_OBSOLETE
 /* BCD conversions. */
 extern u_char const    bcd2bin_data[];
 extern u_char const    bin2bcd_data[];
-extern char const      hex2ascii_data[];
 
 #define        bcd2bin(bcd)    (bcd2bin_data[bcd])
 #define        bin2bcd(bin)    (bin2bcd_data[bin])
-#define        hex2ascii(hex)  (hex2ascii_data[hex])
+#endif /* __APPLE_API_OBSOLETE */
+
+#ifdef __APPLE_API_PRIVATE
+extern char const      hex2ascii_data[];
 
+#define        hex2ascii(hex)  (hex2ascii_data[hex])
+#endif /* __APPLE_API_PRIVATE */
 
 __BEGIN_DECLS
 static inline int
@@ -113,18 +122,39 @@ ulmin(u_long a, u_long b)
 }
 
 /* Prototypes for non-quad routines. */
-int     bcmp __P((const void *, const void *, size_t));
-int     ffs __P((int));
-int     locc __P((int, char *, u_int));
-u_long  random __P((void));
-char   *rindex __P((const char *, int));
-int     scanc __P((u_int, u_char *, u_char *, int));
-int     skpc __P((int, int, char *));
-char   *strcat __P((char *, const char *));
-char   *strcpy __P((char *, const char *));
-size_t  strlen __P((const char *));
-char   *strncpy __P((char *, const char *, size_t));
-long   strtol __P((const char*, char **, int));
+extern int     ffs(int);
+extern int     locc(int, char *, u_int);
+extern u_long  random(void);
+extern char    *rindex(const char *, int);
+extern int     scanc(u_int, u_char *, const u_char *, int);
+extern int     skpc(int, int, char *);
+extern long    strtol(const char*, char **, int);
+extern u_long  strtoul(const char *, char **, int);
+extern quad_t  strtoq(const char *, char **, int);
+extern u_quad_t strtouq(const char *, char **, int);
+
+int    snprintf(char *, size_t, const char *, ...);
+int    sprintf(char *bufp, const char *, ...);
+int    sscanf(const char *, char const *, ...);
+void printf(const char *, ...);
+
+uint32_t       crc32(uint32_t crc, const void *bufp, size_t len);
+
+int    copystr(const void *kfaddr, void *kdaddr, size_t len, size_t *done);
+int    copyinstr(const user_addr_t uaddr, void *kaddr, size_t len, size_t *done);
+int    copyoutstr(const void *kaddr, user_addr_t udaddr, size_t len, size_t *done);
+int    copyin(const user_addr_t uaddr, void *kaddr, size_t len);
+int    copyout(const void *kaddr, user_addr_t udaddr, size_t len);
+
+int vsscanf(const char *, char const *, __darwin_va_list);
+extern int     vsnprintf(char *, size_t, const char *, __darwin_va_list);
+extern int     vsprintf(char *bufp, const char *, __darwin_va_list); 
+
+extern void invalidate_icache(vm_offset_t, unsigned, int);
+extern void flush_dcache(vm_offset_t, unsigned, int);
+extern void invalidate_icache64(addr64_t, unsigned, int);
+extern void flush_dcache64(addr64_t, unsigned, int);
+
 __END_DECLS
 
 #endif /* _LIBKERN_LIBKERN_H_ */