about summary refs log tree commit diff stats
path: root/wrapperhelper/src/generator.h
diff options
context:
space:
mode:
authorrajdakin <rajdakin@gmail.com>2024-09-07 20:53:51 +0200
committerGitHub <noreply@github.com>2024-09-07 20:53:51 +0200
commitf30d75ae5dba339bfc95229894b22fd73e3fdc14 (patch)
tree5cd75da181f43a7aaf29cab121069d9dba85aa2d /wrapperhelper/src/generator.h
parente087e7782ca9b2ce6c8ec99706a352b1c6ca12bc (diff)
downloadbox64-f30d75ae5dba339bfc95229894b22fd73e3fdc14.tar.gz
box64-f30d75ae5dba339bfc95229894b22fd73e3fdc14.zip
[WRAPPERHELPER] General improvements (#1804)
* [WRAPPERHELPER] Automatic headers detection, various bug fixes, added some cast support

* [WRAPPERHELPER] Keep comments untouched
Diffstat (limited to 'wrapperhelper/src/generator.h')
-rw-r--r--wrapperhelper/src/generator.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/wrapperhelper/src/generator.h b/wrapperhelper/src/generator.h
index ef27ad0a..fd41862d 100644
--- a/wrapperhelper/src/generator.h
+++ b/wrapperhelper/src/generator.h
@@ -37,14 +37,24 @@ typedef struct request_s {
 		};
 	} def, val;
 } request_t;
-VECTOR_DECLARE(requests, request_t)
+typedef struct reference_s {
+	enum {
+		REF_REQ,
+		REF_LINE,
+	} typ;
+	union {
+		request_t req;
+		string_t *line;
+	};
+} reference_t;
+VECTOR_DECLARE(references, reference_t)
 void request_print(request_t *req);
 void request_print_check(request_t *req);
-void output_from_requests(FILE *f, VECTOR(requests) *reqs);
+void output_from_references(FILE *f, VECTOR(references) *reqs);
 
-VECTOR(requests) *requests_from_file(const char *filename, FILE *f); // Takes ownership of f
+VECTOR(references) *references_from_file(const char *filename, FILE *f); // Takes ownership of f
 int solve_request(request_t *req, type_t *typ);
 int solve_request_map(request_t *req, khash_t(type_map) *decl_map);
-int solve_requests(VECTOR(requests) *reqs, khash_t(type_map) *decl_map);
+int solve_references(VECTOR(references) *reqs, khash_t(type_map) *decl_map);
 
 #endif // GENERATOR_H