toolchain: add a program for compiling ipc interface definitions

ifc can be used to compile .if files into self-contained header-only C
libraries, which can be used to send/receive messages that conform
to the described interface.
This commit is contained in:
2026-02-26 19:44:21 +00:00
parent e2b19c3e9a
commit b631fca0fd
25 changed files with 3692 additions and 9 deletions

24
toolchain/ifc/interface.h Normal file
View File

@@ -0,0 +1,24 @@
#ifndef IFC_INTERFACE_H_
#define IFC_INTERFACE_H_
#include <blue/core/queue.h>
struct msg_definition;
struct interface_definition {
char *if_name;
b_queue if_msg;
};
extern struct interface_definition *interface_definition_create(
const char *name);
extern void interface_definition_destroy(struct interface_definition *iface);
extern bool interface_definition_has_msg(
const struct interface_definition *iface,
const char *name);
extern void interface_definition_add_msg(
struct interface_definition *iface,
struct msg_definition *msg);
#endif