diff --git a/src/internal.h b/src/internal.h
new file mode 100644
index 0000000..cc93319
--- /dev/null
+++ b/src/internal.h
@@ -0,0 +1,60 @@
+#pragma once
+
+#include <osmocom/core/linuxlist.h>
+
+struct card_reader_slot;
+
+struct card_reader_driver_ops {
+	/* probe system for card readers */
+	void (*probe)(void *ctx);
+	/* open a given slot, attempt to reset/start the card */
+	int (*open_slot)(struct card_reader_slot *slot);
+	/* close a given slot, power down the card */
+	void (*close_slot)(struct card_reader_slot *slot);
+	/* transceive an APDU */
+	int (*transceive_apdu)(struct card_reader_slot *slot);
+};
+
+struct card_reader_driver {
+	/* global list of drivers */
+	struct llist_head list;
+	/* name of the driver */
+	char *name;
+	const struct card_reader_driver_ops *ops;
+};
+
+struct card_reader {
+	/* global list of card readers */
+	struct llist_head list;
+	/* name of this reader */
+	char *name;
+	/* driver providing access to this reader */
+	const struct card_reader_driver *drv;
+	void *drv_handle;
+	/* list of card slots for this reader */
+	struct llist_head slots;
+};
+
+enum card_slot_state {
+	CARD_SLOT_OFF,
+	CARD_SLOT_OPEN,
+};
+
+struct card_reader_slot {
+	/* links to card_reader.slots */
+	struct llist_head list;
+	/* back-pointer to reader serving this slot */
+	struct card_reader *reader;
+	/* slot number */
+	unsigned int num;
+	/* state in which the slot is */
+	enum card_slot_state state;
+};
+
+
+struct card_reader *card_reader_alloc(void *ctx, const char *name,
+					const struct card_reader_driver *drv, void *drv_handle);
+struct card_reader_slot *card_reader_slot_alloc(struct card_reader *cr, unsigned int slot_num);
+
+void card_reader_driver_register(struct card_reader_driver *drv);
+void card_readers_probe(void *ctx);
