]> git.sur5r.net Git - cc65/blob - include/string.h
19cfba27e5af2d0180e0e7aeef89666273ab3a0a
[cc65] / include / string.h
1 /*****************************************************************************/
2 /*                                                                           */
3 /*                                 string.h                                  */
4 /*                                                                           */
5 /*                              String handling                              */
6 /*                                                                           */
7 /*                                                                           */
8 /*                                                                           */
9 /* (C) 1998-2008 Ullrich von Bassewitz                                       */
10 /*               Roemerstrasse 52                                            */
11 /*               D-70794 Filderstadt                                         */
12 /* EMail:        uz@cc65.org                                                 */
13 /*                                                                           */
14 /*                                                                           */
15 /* This software is provided 'as-is', without any expressed or implied       */
16 /* warranty.  In no event will the authors be held liable for any damages    */
17 /* arising from the use of this software.                                    */
18 /*                                                                           */
19 /* Permission is granted to anyone to use this software for any purpose,     */
20 /* including commercial applications, and to alter it and redistribute it    */
21 /* freely, subject to the following restrictions:                            */
22 /*                                                                           */
23 /* 1. The origin of this software must not be misrepresented; you must not   */
24 /*    claim that you wrote the original software. If you use this software   */
25 /*    in a product, an acknowledgment in the product documentation would be  */
26 /*    appreciated but is not required.                                       */
27 /* 2. Altered source versions must be plainly marked as such, and must not   */
28 /*    be misrepresented as being the original software.                      */
29 /* 3. This notice may not be removed or altered from any source              */
30 /*    distribution.                                                          */
31 /*                                                                           */
32 /*****************************************************************************/
33
34
35
36 #ifndef _STRING_H
37 #define _STRING_H
38
39
40
41 #include <stddef.h>
42
43
44
45 char* __fastcall__ strcat (char* dest, const char* src);
46 char* __fastcall__ strchr (const char* s, int c);
47 int __fastcall__ strcmp (const char* s1, const char* s2);
48 int __fastcall__ strcoll (const char* s1, const char* s2);
49 char* __fastcall__ strcpy (char* dest, const char* src);
50 size_t __fastcall__ strcspn (const char* s1, const char* s2);
51 char* __fastcall__ strerror (int errcode);
52 size_t __fastcall__ strlen (const char* s);
53 char* __fastcall__ strncat (char* s1, const char* s2, size_t count);
54 int __fastcall__ strncmp (const char* s1, const char* s2, size_t count);
55 char* __fastcall__ strncpy (char* dest, const char* src, size_t count);
56 char* __fastcall__ strrchr (const char* s, int c);
57 size_t __fastcall__ strspn (const char* s1, const char* s2);
58 char* __fastcall__ strstr (const char* str, const char* substr);
59 char* __fastcall__ strtok (char* s1, const char* s2);
60 size_t __fastcall__ strxfrm (char* s1, const char* s2, size_t count);
61 void* __fastcall__ memchr (const void* mem, int c, size_t count);
62 int __fastcall__ memcmp (const void* p1, const void* p2, size_t count);
63 void* __fastcall__ memcpy (void* dest, const void* src, size_t count);
64 void* __fastcall__ memmove (void* dest, const void* src, size_t count);
65 void* __fastcall__ memset (void* s, int c, size_t count);
66
67 /* The following is an internal function, the compiler will replace memset
68  * with it if the fill value is zero. Never use this one directly!
69  */
70 void* __fastcall__ _bzero (void* ptr, size_t n);
71
72 /* Non standard: */
73 #if __CC65_STD__ == __CC65_STD_CC65__
74 void __fastcall__ bzero (void* ptr, size_t n);                /* BSD */
75 char* __fastcall__ strdup (const char* s);                    /* SYSV/BSD */
76 int __fastcall__ stricmp (const char* s1, const char* s2);    /* DOS/Windows */
77 int __fastcall__ strcasecmp (const char* s1, const char* s2); /* Same for Unix */
78 int __fastcall__ strnicmp (const char* s1, const char* s2, size_t count);     /* DOS/Windows */
79 int __fastcall__ strncasecmp (const char* s1, const char* s2, size_t count);  /* Same for Unix */
80 char* __fastcall__ strlwr (char* s);
81 char* __fastcall__ strlower (char* s);
82 char* __fastcall__ strupr (char* s);
83 char* __fastcall__ strupper (char* s);
84 #endif
85
86 const char* __fastcall__ _stroserror (unsigned char errcode);
87 /* Map an operating system error number to an error message. */
88
89
90
91 /* End of string.h */
92 #endif
93
94
95