X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=snprintf%2Fvarious.h;h=30bedd048be2e9558762e8b13dce9b13c57dfb54;hb=6c737d0594cac0d969e1948ea1ed55c15be9cec8;hp=dab78edabefe7a4f869dcc37372b02eb90894a22;hpb=bf0d695d692163edb23b8fbbbd976387dfef232d;p=lttng-ust.git diff --git a/snprintf/various.h b/snprintf/various.h index dab78eda..30bedd04 100644 --- a/snprintf/various.h +++ b/snprintf/various.h @@ -1,9 +1,41 @@ +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Chris Torek. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + #ifndef UST_SNPRINTF_VARIOUS_H #define UST_SNPRINTF_VARIOUS_H #include -struct __sbuf { +struct __lttng_ust_sbuf { unsigned char *_base; int _size; }; @@ -32,13 +64,13 @@ struct __sbuf { * _ub._base becomes non-nil (i.e., a stream has ungetc() data iff * _ub._base!=NULL) and _up and _ur save the current values of _p and _r. */ -typedef struct __sFILE { +typedef struct __lttng_ust_sFILE { unsigned char *_p; /* current position in (some) buffer */ int _r; /* read space left for getc() */ int _w; /* write space left for putc() */ short _flags; /* flags, below; this FILE is free if 0 */ short _file; /* fileno, if Unix descriptor, else -1 */ - struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ + struct __lttng_ust_sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ int _lbfsize; /* 0 or -_bf._size, for inline putc */ /* operations */ @@ -49,7 +81,7 @@ typedef struct __sFILE { int (*_write)(void *, const char *, int); /* extension data, to avoid further ABI breakage */ - struct __sbuf _ext; + struct __lttng_ust_sbuf _ext; /* data for long sequences of ungetc() */ unsigned char *_up; /* saved _p when _p is doing ungetc data */ int _ur; /* saved _r when _r is counting ungetc data */ @@ -59,12 +91,12 @@ typedef struct __sFILE { unsigned char _nbuf[1]; /* guarantee a getc() buffer */ /* separate buffer for fgetln() when line crosses buffer boundary */ - struct __sbuf _lb; /* buffer for fgetln() */ + struct __lttng_ust_sbuf _lb; /* buffer for fgetln() */ /* Unix stdio files get aligned to block boundaries on fseek() */ int _blksize; /* stat.st_blksize (may be != _bf._size) */ fpos_t _offset; /* current lseek offset */ -} LFILE; +} LTTNG_UST_LFILE; #define __SLBF 0x0001 /* line buffered */ #define __SNBF 0x0002 /* unbuffered */ @@ -85,7 +117,9 @@ typedef struct __sFILE { #define __sferror(p) (((p)->_flags & __SERR) != 0) -extern int ust_safe_fflush(LFILE *fp); -extern int ust_safe_vfprintf(LFILE *fp, const char *fmt0, va_list ap); +extern int ust_safe_fflush(LTTNG_UST_LFILE *fp); +extern int ust_safe_vfprintf(LTTNG_UST_LFILE *fp, const char *fmt0, va_list ap); + +extern size_t ust_safe_mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps); #endif /* UST_SNPRINTF_VARIOUS_H */