summaryrefslogtreecommitdiffstats
path: root/kio/kio/tdelficon.h
diff options
context:
space:
mode:
Diffstat (limited to 'kio/kio/tdelficon.h')
-rw-r--r--kio/kio/tdelficon.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/kio/kio/tdelficon.h b/kio/kio/tdelficon.h
new file mode 100644
index 000000000..7b17df818
--- /dev/null
+++ b/kio/kio/tdelficon.h
@@ -0,0 +1,48 @@
+
+#include <alloca.h>
+#include <stdint.h>
+#include <cstdlib>
+
+extern "C" {
+ #include <libr-icons.h>
+
+ // BEGIN HACK
+ // libr does not export these structures and defines,
+ // but we need access to them to make the UI behave sanely
+ // Keep them in sync with libr and all should be OK
+
+ // Valid for libr version 0.6.0
+ // See libr detection code in ConfigureChecks.cmake
+
+ typedef uint32_t ID8;
+ typedef uint16_t ID4;
+ typedef struct {uint64_t p:48;} __attribute__((__packed__)) ID12;
+
+ typedef struct {
+ ID8 g1;
+ ID4 g2;
+ ID4 g3;
+ ID4 g4;
+ ID12 g5;
+ } __attribute__((__packed__)) UUID;
+
+ typedef struct {
+ char *name;
+ size_t offset;
+ size_t entry_size;
+ libr_icontype_t type;
+ unsigned int icon_size;
+ } iconentry;
+
+ typedef struct{
+ size_t size;
+ char *buffer;
+ iconentry entry;
+ } iconlist;
+
+ #define ICON_SECTION ".icon"
+ // END HACK
+}
+
+int get_iconlist(libr_file *file_handle, iconlist *icons);
+iconentry *get_nexticon(iconlist *icons, iconentry *last_entry); \ No newline at end of file