• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2017 The Android Open Source Project
2 // SPDX-License-Identifier: BSD-2-Clause
3 
4 #include <locale.h>
5 
6 #include "header_checks.h"
7 
locale_h()8 static void locale_h() {
9   TYPE(struct lconv);
10   STRUCT_MEMBER(struct lconv, char*, currency_symbol);
11   STRUCT_MEMBER(struct lconv, char*, decimal_point);
12   STRUCT_MEMBER(struct lconv, char, frac_digits);
13   STRUCT_MEMBER(struct lconv, char*, grouping);
14   STRUCT_MEMBER(struct lconv, char*, int_curr_symbol);
15   STRUCT_MEMBER(struct lconv, char, int_frac_digits);
16   STRUCT_MEMBER(struct lconv, char, int_n_cs_precedes);
17   STRUCT_MEMBER(struct lconv, char, int_n_sep_by_space);
18   STRUCT_MEMBER(struct lconv, char, int_n_sign_posn);
19   STRUCT_MEMBER(struct lconv, char, int_p_cs_precedes);
20   STRUCT_MEMBER(struct lconv, char, int_p_sep_by_space);
21   STRUCT_MEMBER(struct lconv, char, int_p_sign_posn);
22   STRUCT_MEMBER(struct lconv, char*, mon_decimal_point);
23   STRUCT_MEMBER(struct lconv, char*, mon_grouping);
24   STRUCT_MEMBER(struct lconv, char*, mon_thousands_sep);
25   STRUCT_MEMBER(struct lconv, char*, negative_sign);
26   STRUCT_MEMBER(struct lconv, char, n_cs_precedes);
27   STRUCT_MEMBER(struct lconv, char, n_sep_by_space);
28   STRUCT_MEMBER(struct lconv, char, n_sign_posn);
29   STRUCT_MEMBER(struct lconv, char*, positive_sign);
30   STRUCT_MEMBER(struct lconv, char, p_cs_precedes);
31   STRUCT_MEMBER(struct lconv, char, p_sep_by_space);
32   STRUCT_MEMBER(struct lconv, char, p_sign_posn);
33   STRUCT_MEMBER(struct lconv, char*, thousands_sep);
34 
35   MACRO(NULL);
36 
37   MACRO(LC_ALL);
38   MACRO(LC_COLLATE);
39   MACRO(LC_CTYPE);
40   MACRO(LC_MONETARY);
41   MACRO(LC_NUMERIC);
42   MACRO(LC_TIME);
43 
44   MACRO(LC_COLLATE_MASK);
45   MACRO(LC_CTYPE_MASK);
46   MACRO(LC_MESSAGES_MASK);
47   MACRO(LC_MONETARY_MASK);
48   MACRO(LC_NUMERIC_MASK);
49   MACRO(LC_TIME_MASK);
50   MACRO(LC_ALL_MASK);
51 
52   MACRO_TYPE(locale_t, LC_GLOBAL_LOCALE);
53   TYPE(locale_t);
54 
55   FUNCTION(duplocale, locale_t (*f)(locale_t));
56   FUNCTION(freelocale, void (*f)(locale_t));
57   FUNCTION(localeconv, struct lconv* (*f)(void));
58   FUNCTION(newlocale, locale_t (*f)(int, const char*, locale_t));
59   FUNCTION(setlocale, char* (*f)(int, const char*));
60   FUNCTION(uselocale, locale_t (*f)(locale_t));
61 }
62