aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/options/glibc/include/printf.h
blob: e7dd0d85e003180f1466225a2eb0f8111df450fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#ifndef  _PRINTF_H
#define  _PRINTF_H

#ifdef __cplusplus
extern "C" {
#endif

#include <stddef.h>
#include <stdarg.h>

#ifndef __MLIBC_ABI_ONLY

// This seems to be a glibc thing, so constants are from glibc
size_t parse_printf_format(const char * __restrict, size_t, int * __restrict);

#endif /* !__MLIBC_ABI_ONLY */

enum {
	PA_INT,
	PA_CHAR,
	PA_WCHAR,
	PA_STRING,
	PA_WSTRING,
	PA_POINTER,
	PA_FLOAT,
	PA_DOUBLE,
	PA_LAST
};

#define PA_FLAG_MASK			0xff00
#define PA_FLAG_LONG_LONG		(1 << 8)
#define PA_FLAG_LONG_DOUBLE		PA_FLAG_LONG_LONG
#define PA_FLAG_LONG			(1 << 9)
#define PA_FLAG_SHORT			(1 << 10)
#define PA_FLAG_PTR				(1 << 11)

#ifdef __cplusplus
}
#endif

#endif