summaryrefslogtreecommitdiff
path: root/qmic.h
diff options
context:
space:
mode:
Diffstat (limited to 'qmic.h')
-rw-r--r--qmic.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/qmic.h b/qmic.h
index 5e117b0..8ca8ed1 100644
--- a/qmic.h
+++ b/qmic.h
@@ -39,6 +39,40 @@ struct token {
extern const char *sz_simple_types[];
+extern const char *qmi_package;
+
+struct qmi_const {
+ const char *name;
+ unsigned value;
+
+ struct list_head node;
+};
+
+struct qmi_message_member {
+ const char *name;
+ int type;
+ struct qmi_struct *qmi_struct;
+ int id;
+ bool required;
+ unsigned array;
+
+ struct list_head node;
+};
+
+struct qmi_message {
+ enum message_type type;
+ const char *name;
+ unsigned msg_id;
+
+ struct list_head node;
+
+ struct list_head members;
+};
+
+extern struct list_head qmi_consts;
+extern struct list_head qmi_messages;
+
+
void yyerror(const char *fmt, ...) __attribute__((noreturn));
void symbol_add(const char *name, int token, ...);
@@ -55,4 +89,7 @@ void qmi_struct_header(FILE *fp, const char *package);
void qmi_struct_emit_prototype(FILE *fp, const char *package, const char *message, const char *member, unsigned array_size, struct qmi_struct *qs);
void qmi_struct_emit_accessors(FILE *fp, const char *package, const char *message, const char *member, int member_id, unsigned array_size, struct qmi_struct *qs);
+void qmi_parse(void);
+
+
#endif