summaryrefslogtreecommitdiff
path: root/includes/misc.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/misc.h')
-rw-r--r--includes/misc.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/includes/misc.h b/includes/misc.h
new file mode 100644
index 0000000..9a92a71
--- /dev/null
+++ b/includes/misc.h
@@ -0,0 +1,72 @@
+#ifndef UTILS_H
+#define UTILS_H
+#include <stdio.h>
+#include <stdlib.h>
+
+#if defined(WIN32) && !defined(__GNUC__)
+#define x86_cpuid(func,af,bf,cf,df) \
+ do {\
+ __asm mov eax, func\
+ __asm cpuid\
+ __asm mov af, eax\
+ __asm mov bf, ebx\
+ __asm mov cf, ecx\
+ __asm mov df, edx\
+ } while(0)
+#else
+#define x86_cpuid(func,af,bf,cf,df) \
+__asm__ __volatile ("cpuid":\
+ "=a" (af), "=b" (bf), "=c" (cf), "=d" (df) : "a" (func));
+#endif
+
+static char hex[] = "0123456789ABCDEF";
+//Signum function
+#ifdef WIN32
+extern _inline int isign(float i);
+#else
+extern inline int isign(float i);
+#endif
+
+#ifdef WIN32
+extern _inline unsigned clamp_flt(float f, float min, float max);
+#else
+extern inline unsigned clamp_flt(float f, float min, float max);
+#endif
+
+#ifdef WIN32
+extern _inline float restrict_flt(float f, float min, float max);
+#else
+extern inline float restrict_flt(float f, float min, float max);
+#endif
+
+char *mystrdup(char *s);
+
+struct strlist
+{
+ char *str;
+ struct strlist *next;
+};
+
+void strlist_add(struct strlist **list, char *str);
+
+int strlist_find(struct strlist **list, char *str);
+
+void strlist_free(struct strlist **list);
+
+void save_presets(int do_update);
+
+void load_presets(void);
+
+void save_string(FILE *f, char *str);
+
+int load_string(FILE *f, char *str, int max);
+
+void strcaturl(char *dst, char *src);
+
+void strappend(char *dst, char *src);
+
+void *file_load(char *fn, int *size);
+
+int cpu_check(void);
+
+#endif \ No newline at end of file