feat: input device subsystem to resolve race condition on polling input
[lunaix-os.git] / lunaix-os / includes / lunaix / device.h
index c0ed9896382ef901e0fb676d224187b33a033520..beb8066739d5b8c046da927c0299c1f6831633a6 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <lunaix/ds/hstr.h>
 #include <lunaix/ds/llist.h>
+#include <lunaix/types.h>
 
 #define DEV_MSKIF 0x00000003
 
@@ -27,6 +28,13 @@ struct device
     int (*write)(struct device* dev, void* buf, size_t offset, size_t len);
 };
 
+struct device*
+device_add(struct device* parent,
+           void* underlay,
+           char* name_fmt,
+           uint32_t type,
+           va_list args);
+
 struct device*
 device_addseq(struct device* parent, void* underlay, char* name_fmt, ...);
 
@@ -43,7 +51,10 @@ struct device*
 device_getbyid(struct llist_header* devlist, dev_t id);
 
 struct device*
-device_getbyname(struct llist_header* devlist, struct hstr* name);
+device_getbyhname(struct llist_header* devlist, struct hstr* name);
+
+struct device*
+device_getbyname(struct llist_header* devlist, const char* name, size_t len);
 
 struct device*
 device_getbyoffset(struct llist_header* devlist, int pos);