b6407932c2c29fce19ea6d79a894f7db5d2072d9
[tpg/acess2.git] / KernelLand / Kernel / include / acess_string.h
1 /*
2  * Acess2 Kernel
3  * - By John Hodge (thePowersGang)
4  *
5  * acess_string.h
6  * - Kernel-land string.h
7  */
8 #ifndef _ACESS_STRING_H
9 #define _ACESS_STRING_H
10 #include <stdarg.h>
11
12 /**
13  * \name String Manipulation
14  * \{
15  */
16 // - stdio.h in userland
17 extern int      vsnprintf(char *__s, size_t __maxlen, const char *__format, va_list args);
18 extern int      snprintf(char *__s, size_t __n, const char *__format, ...);
19 extern int      sprintf(char *__s, const char *__format, ...);
20 extern size_t   strlen(const char *Str);
21 extern char     *strcpy(char *__dest, const char *__src);
22 extern char     *strncpy(char *__dest, const char *__src, size_t max);
23 extern char     *strcat(char *__dest, const char *__src);
24 extern char     *strncat(char *__dest, const char *__src, size_t n);
25 extern int      strcmp(const char *__str1, const char *__str2);
26 extern int      strncmp(const char *Str1, const char *Str2, size_t num);
27 // strdup macro is defined in heap.h
28 extern char     *_strdup(const char *File, int Line, const char *Str);
29 extern char     **str_split(const char *__str, char __ch);
30 extern char     *strchr(const char *__s, int __c);
31 extern char     *strrchr(const char *__s, int __c);
32 extern void     itoa(char *buf, Uint64 num, int base, int minLength, char pad);
33 extern int      atoi(const char *string);
34 extern long     atol(const char *string);
35 extern long long        atoll(const char *string);
36 extern unsigned long long       strtoull(const char *str, char **end, int base);
37 extern unsigned long    strtoul(const char *str, char **end, int base);
38 extern signed long long strtoll(const char *str, char **end, int base);
39 extern signed long      strtol(const char *str, char **end, int base);
40
41 //! \brief String comparison (case-insensitive)
42 extern int      strucmp(const char *Str1, const char *Str2);
43 extern int      strpos(const char *Str, char Ch);
44 extern int      strpos8(const char *str, Uint32 search);
45
46 extern int      ParseInt(const char *string, int *Val);
47 extern int      ReadUTF8(const Uint8 *str, Uint32 *Val);
48 extern int      WriteUTF8(Uint8 *str, Uint32 Val);
49 extern int      ModUtil_SetIdent(char *Dest, const char *Value);
50 extern int      ModUtil_LookupString(const char **Array, const char *Needle);
51
52 extern Uint8    ByteSum(const void *Ptr, int Size);
53 extern int      Hex(char *Dest, size_t Size, const Uint8 *SourceData);
54 extern int      UnHex(Uint8 *Dest, size_t DestSize, const char *SourceString);
55 /**
56  * \}
57  */
58 #endif

UCC git Repository :: git.ucc.asn.au