[MKISOFS]
[reactos.git] / reactos / sdk / tools / mkisofs / schilytools / include / schily / string.h
1 /* @(#)string.h 1.12 11/11/24 Copyright 1996-2011 J. Schilling */
2 /*
3 * Definitions for strings
4 *
5 * Copyright (c) 1996-2011 J. Schilling
6 */
7 /*
8 * The contents of this file are subject to the terms of the
9 * Common Development and Distribution License, Version 1.0 only
10 * (the "License"). You may not use this file except in compliance
11 * with the License.
12 *
13 * See the file CDDL.Schily.txt in this distribution for details.
14 *
15 * When distributing Covered Code, include this CDDL HEADER in each
16 * file and include the License file CDDL.Schily.txt from this distribution.
17 */
18
19 #ifndef _SCHILY_STRING_H
20 #define _SCHILY_STRING_H
21
22 #ifndef _SCHILY_MCONFIG_H
23 #include <schily/mconfig.h>
24 #endif
25
26 #ifndef _SCHILY_TYPES_H
27 #include <schily/types.h> /* Try to get size_t */
28 #endif
29
30 /*
31 * It may be that IBM's AIX has problems when doing
32 * #include <string.h>
33 * #include <strings.h>
34 * So I moved the #include <strings.h> to the top. As the file strings.h
35 * defines strcasecmp() we may need it...
36 *
37 * Note that the only real problem appears if we use rubbish FSF based code that
38 * #defines _NO_PROTO
39 */
40 #ifdef HAVE_STRINGS_H
41 #ifndef _INCL_STRINGS_H
42 #include <strings.h>
43 #define _INCL_STRINGS_H
44 #endif
45 #endif /* HAVE_STRINGS_H */
46
47
48 #ifdef HAVE_STRING_H
49 #ifndef _INCL_STRING_H
50 #include <string.h>
51 #define _INCL_STRING_H
52 #endif
53 #else /* HAVE_STRING_H */
54
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58
59 #ifndef NULL
60 #define NULL 0
61 #endif
62
63 extern void *memcpy __PR((void *, const void *, int));
64 extern void *memmove __PR((void *, const void *, int));
65 extern char *strcpy __PR((char *, const char *));
66 extern char *strncpy __PR((char *, const char *, int));
67
68 extern char *strcat __PR((char *, const char *));
69 extern char *strncat __PR((char *, const char *, int));
70
71 extern int memcmp __PR((const void *, const void *, int));
72 extern int strcmp __PR((const char *, const char *));
73 extern int strcoll __PR((const char *, const char *));
74 extern int strncmp __PR((const char *, const char *, int));
75 extern int strxfrm __PR((char *, const char *, int));
76
77 extern void *memchr __PR((const void *, int, int));
78 extern char *strchr __PR((const char *, int));
79
80 extern int strcspn __PR((const char *, const char *));
81 /* #pragma int_to_unsigned strcspn */
82
83 extern char *strpbrk __PR((const char *, const char *));
84 extern char *strrchr __PR((const char *, int));
85
86 extern int strspn __PR((const char *, const char *));
87 /* #pragma int_to_unsigned strspn */
88
89 extern char *strstr __PR((const char *, const char *));
90 extern char *strtok __PR((char *, const char *));
91 extern void *memset __PR((void *, int, int));
92 extern char *strerror __PR((int));
93
94 extern int strlen __PR((const char *));
95 /* #pragma int_to_unsigned strlen */
96
97 extern void *memccpy __PR((void *, const void *, int, int));
98
99 extern int strcasecmp __PR((const char *, const char *));
100 extern int strncasecmp __PR((const char *, const char *, size_t));
101
102 #ifdef __cplusplus
103 }
104 #endif
105
106 #endif /* HAVE_STRING_H */
107
108 #endif /* _SCHILY_STRING_H */