summary refs log tree commit diff stats
path: root/tinyc/win32/lib/crt1.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinyc/win32/lib/crt1.c')
-rwxr-xr-xtinyc/win32/lib/crt1.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/tinyc/win32/lib/crt1.c b/tinyc/win32/lib/crt1.c
new file mode 100755
index 000000000..1cf12f294
--- /dev/null
+++ b/tinyc/win32/lib/crt1.c
@@ -0,0 +1,35 @@
+// =============================================
+// crt1.c
+
+#include <stdlib.h>
+
+#define __UNKNOWN_APP    0
+#define __CONSOLE_APP    1
+#define __GUI_APP        2
+void __set_app_type(int);
+void _controlfp(unsigned a, unsigned b);
+
+typedef struct
+{
+	int newmode;
+} _startupinfo;
+
+void __getmainargs(int *pargc, char ***pargv, char ***penv, int globb, _startupinfo*);
+
+int main(int argc, char **argv, char **env);
+
+int _start(void)
+{
+	int argc; char **argv; char **env; int ret;
+	_startupinfo start_info = {0};
+
+	_controlfp(0x10000, 0x30000);
+	__set_app_type(__CONSOLE_APP);
+	__getmainargs(&argc, &argv, &env, 0, &start_info);
+
+	ret = main(argc, argv, env);
+	exit(ret);
+}
+
+// =============================================
+