summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2013-11-11 02:24:42 +0100
committerChanho Park <chanho61.park@samsung.com>2014-08-22 20:38:23 +0900
commite6c25f6799825812e2b87990333c649ba796f600 (patch)
tree8d68002e600f53c912433310ced3b13fb2883b95 /etc
parentf292cf4e52c73fcc3b63ba2b032d17822f63e6e8 (diff)
downloadltrace-e6c25f6799825812e2b87990333c649ba796f600.tar.gz
ltrace-e6c25f6799825812e2b87990333c649ba796f600.tar.bz2
ltrace-e6c25f6799825812e2b87990333c649ba796f600.zip
Support wide character strings
- "string" lens and "format" pack were extended such that using an integer as underlying array type denotes a wide character string. - several prototypes from wchar.h were added to libc.so.conf. - ltrace.conf.5 was updated
Diffstat (limited to 'etc')
-rw-r--r--etc/libc.so.conf32
1 files changed, 31 insertions, 1 deletions
diff --git a/etc/libc.so.conf b/etc/libc.so.conf
index efa1b95..fa95887 100644
--- a/etc/libc.so.conf
+++ b/etc/libc.so.conf
@@ -43,6 +43,7 @@ string tgoto(string, int, int);
# POSIX always uses pointer to the structure, so it's fine.
typedef DIR = struct(int);
+typedef FILE = addr;
# XXX We can't represent the following portably without having either
# uulong, or directly uint64_t.'
@@ -400,7 +401,36 @@ addr getutent();
void setutent();
# wchar.h
-int fwide(addr, int);
+typedef wchar_t = string(uint);
+typedef wint_t = string(int);
+typedef wstring_t = string(array(uint, zero)*);
+
+int fwide(FILE*, int);
+wint_t btowc(int);
+wint_t fgetwc(FILE*);
+wstring_t fgetws(+string(array(uint, zero(arg2))*), int, FILE*);
+wint_t fputwc(wchar_t, FILE*);
+int fputws(wstring_t, FILE*);
+int fwprintf(FILE*, format(wstring_t));
+; int fwscanf(FILE *restrict, const wchar_t *restrict, ...);
+wint_t getwc(FILE *);
+wint_t getwchar();
+int iswalnum(wint_t);
+int iswalpha(wint_t);
+int iswcntrl(wint_t);
+; int iswctype(wint_t, wctype_t);
+int iswdigit(wint_t);
+int iswgraph(wint_t);
+int iswlower(wint_t);
+int iswprint(wint_t);
+int iswpunct(wint_t);
+int iswspace(wint_t);
+int iswupper(wint_t);
+int iswxdigit(wint_t);
+ulong mbrlen(string, ulong, addr);
+ulong mbrtowc(+wchar_t*, string[arg3], ulong, addr);
+int mbsinit(addr);
+ulong mbsrtowcs(+string(array(uint, zero(arg3))), string*, ulong, addr);
# sys/wait.h
int wait(addr);