1/*
 2 * Copyright (c) 2005, 2009, 2010 Apple Inc. All rights reserved.
 3 *
 4 * @APPLE_LICENSE_HEADER_START@
 5 * 
 6 * This file contains Original Code and/or Modifications of Original Code
 7 * as defined in and that are subject to the Apple Public Source License
 8 * Version 2.0 (the 'License'). You may not use this file except in
 9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 * 
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 * 
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24#ifndef _XLOCALE__STDIO_H_
25#define _XLOCALE__STDIO_H_
26
27#include <_bounds.h>
28#include <_stdio.h>
29#include <__xlocale.h>
30
31_LIBC_SINGLE_BY_DEFAULT()
32
33__BEGIN_DECLS
34
35int	 fprintf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, ...)
36        __printflike(3, 4);
37int	 fscanf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, ...)
38        __scanflike(3, 4);
39int	 printf_l(locale_t __restrict, const char * __restrict, ...)
40        __printflike(2, 3);
41int	 scanf_l(locale_t __restrict, const char * __restrict, ...)
42        __scanflike(2, 3);
43int	 sprintf_l(char * __restrict _LIBC_UNSAFE_INDEXABLE, locale_t __restrict, const char * __restrict, ...)
44        __printflike(3, 4) __swift_unavailable("Use snprintf_l instead.") _LIBC_PTRCHECK_REPLACED("snprintf_l");
45int	 sscanf_l(const char * __restrict, locale_t __restrict, const char * __restrict, ...) 
46        __scanflike(3, 4);
47int	 vfprintf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, va_list)
48        __printflike(3, 0);
49int	 vprintf_l(locale_t __restrict, const char * __restrict, va_list)
50        __printflike(2, 0);
51int	 vsprintf_l(char * __restrict _LIBC_UNSAFE_INDEXABLE, locale_t __restrict, const char * __restrict, va_list)
52        __printflike(3, 0) __swift_unavailable("Use vsnprintf_l instead.") _LIBC_PTRCHECK_REPLACED("vsnprintf_l");
53
54#if __DARWIN_C_LEVEL >= 200112L || defined(__cplusplus)
55int	 snprintf_l(char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, locale_t __restrict, const char * __restrict, ...)
56        __printflike(4, 5);
57int	 vfscanf_l(FILE * __restrict, locale_t __restrict, const char * __restrict, va_list)
58        __scanflike(3, 0);
59int	 vscanf_l(locale_t __restrict, const char * __restrict, va_list)
60        __scanflike(2, 0);
61int	 vsnprintf_l(char * __restrict _LIBC_COUNT(__maxlen), size_t __maxlen, locale_t __restrict, const char * __restrict, va_list)
62        __printflike(4, 0);
63int	 vsscanf_l(const char * __restrict, locale_t __restrict, const char * __restrict, va_list)
64        __scanflike(3, 0);
65#endif
66
67#if __DARWIN_C_LEVEL >= 200809L || defined(__cplusplus)
68int	 dprintf_l(int, locale_t __restrict, const char * __restrict, ...)
69        __printflike(3, 4) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
70int	 vdprintf_l(int, locale_t __restrict, const char * __restrict, va_list)
71        __printflike(3, 0) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);
72#endif
73
74
75#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL || defined(__cplusplus)
76int	 asprintf_l(char *_LIBC_CSTR * __restrict, locale_t __restrict, const char * __restrict, ...)
77        __printflike(3, 4);
78int	 vasprintf_l(char *_LIBC_CSTR * __restrict, locale_t __restrict, const char * __restrict, va_list)
79        __printflike(3, 0);
80#endif
81
82__END_DECLS
83
84
85#endif /* _XLOCALE__STDIO_H_ */