libc: includes for changes
authorAlan Cox <alan@linux.intel.com>
Fri, 16 Jan 2015 01:19:43 +0000 (01:19 +0000)
committerAlan Cox <alan@linux.intel.com>
Fri, 16 Jan 2015 01:19:43 +0000 (01:19 +0000)
Library/include/locale.h [new file with mode: 0644]
Library/include/stdlib.h
Library/include/string.h

diff --git a/Library/include/locale.h b/Library/include/locale.h
new file mode 100644 (file)
index 0000000..8521251
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef _LOCALE_H
+#define _LOCALE_H
+
+typedef void * locale_t;
+
+struct lconv {
+       char *decimal_point;
+       char *thousands_sep;
+       char *grouping;
+       char *int_curr_symbol;
+       char *currency_symbol;
+       char *mon_decimal_pont;
+       char *mon_thousands_sep;
+       char *positive_sign;
+       char *negative_sign;
+       char frac_digits;
+       char p_cs_precedes;
+       char p_sep_by_space;
+       char p_sign_posn;
+       char n_sign_posn;
+       /* ISO C99 added */
+       char int_p_cs_precedes;
+       char int_p_sep_by_space;
+       char int_n_cs_precedes;
+       char int_n_sep_by_space;
+       char int_p_sign_posn;
+       char int_n_sign_posn;
+};
+
+extern char *setlocale(int, const char *);
+extern struct lconv *localeconv(void);
+
+#define LC_ALL                 0
+#define LC_ADDRESS             1
+#define LC_COLLATE             2
+#define LC_CTYPE               3
+#define LC_IDENTIFICATION      4
+#define LC_MEASUREMENT         5
+#define LC_MESSAGES            6
+#define LC_MONETARY            7
+#define LC_NAME                        8
+#define LC_NUMERIC             9
+#define LC_PAPER               10
+#define LC_TELEPHONE           11
+#define LC_TIME                        12
+
+#define LC_GLOBAL_LOCALE       ((void *)1)
+
+#define tolower_l(a,b) tolower(a)
+#define toupper_l(a,b) toupper(a)
+
+#define isascii_l(a,b) isascii(a)
+#define isalnum_l(a,b) isalnum(a)
+#define isalpha_l(a,b) isalpha(a)
+#define isblank_l(a,b) isblank(a)
+#define iscntrl_l(a,b) iscntrl(a)
+#define isdigit_l(a,b) isdigit(a)
+#define isgraph_l(a,b) isgraph(a)
+#define islower_l(a,b) islower(a)
+#define isprint_l(a,b) isprint(a)
+#define ispunct_l(a,b) ispunct(a)
+#define isspace_l(a,b) isspace(a)
+#define isupper_l(a,b) isupper(a)
+#define isxdigit_l(a,b)        isxdigit(a)
+
+#endif
index 0f22d68..75ab85f 100644 (file)
@@ -79,6 +79,8 @@ extern void *lsearch __P((void *key, void *base, size_t *num, size_t size, cmp_f
 extern void *_qbuf;
 extern void qsort __P((void *base, size_t num, size_t size, cmp_func_t cmp));
 
+#define mb_len(a,b)    strnlen(a,b)
+
 extern int opterr;
 extern int optind;
 extern char *optarg;
index ac1d221..ed8c044 100644 (file)
@@ -41,7 +41,7 @@ extern char *rindex __P ((const char *, int));
 extern void bcopy __P ((const void*, void*, size_t));
 extern void bzero __P ((void*, int));
 
-/* Othe common BSD functions */
+/* Other common BSD functions */
 extern char *strpbrk __P ((const char *, const char *));
 extern char *strsep __P ((char **, const char *));
 extern char *strstr __P ((const char *, const char *));
@@ -54,6 +54,11 @@ extern size_t strlcat __P((char *, const char *, size_t));
 
 extern char *strcasestr __P((const char *, const char *));
 
+/* Later ISOisms */
+extern size_t strnlen __P((const char *, size_t));
+extern size_t strxfrm __P((char *, const char *, size_t));
+extern int strcoll __P((const char *s1, const char *s2));
+
 #ifdef z80
 #pagma inline(memcpy)
 #pagma inline(memset)