+/*
+ * Generate random C declarations for testing.
+ * Copyright © 2012, 2022 Nick Bowler
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#ifndef CDECL_DECLGEN_H_
#define CDECL_DECLGEN_H_
-struct gen_rng;
-
enum {
GEN_NO_FUNCTION = 0x01,
GEN_NO_STORAGE = 0x02,
GEN_ONLY_REGISTER = 0x08,
};
-struct cdecl_declspec *gen_qualifiers(struct gen_rng *rng, _Bool pointer);
-struct cdecl_declspec *gen_typespecs(struct gen_rng *rng, _Bool novoid);
-struct cdecl_declspec *gen_randomize_specs(struct gen_rng *rng,
- struct cdecl_declspec *specs);
-struct cdecl_declspec *gen_declspecs(struct gen_rng *rng, unsigned flags);
-struct cdecl_declarator *gen_declarators(struct gen_rng *rng);
+struct test_rng;
-struct gen_rng *gen_alloc_rng(const char *seed);
-void gen_free_rng(struct gen_rng *rng);
+struct cdecl_declspec *gen_qualifiers(struct test_rng *rng, _Bool pointer);
+struct cdecl_declspec *gen_typespecs(struct test_rng *rng, _Bool novoid);
+struct cdecl_declspec *gen_randomize_specs(struct test_rng *rng,
+ struct cdecl_declspec *specs);
+struct cdecl_declspec *gen_declspecs(struct test_rng *rng, unsigned flags);
+struct cdecl_declarator *gen_declarators(struct test_rng *rng);
void gen_free_declspecs(struct cdecl_declspec *x);
void gen_free_declarators(struct cdecl_declarator *x);