Index: /soft/giet_vm/giet_libs/stdio.c
===================================================================
--- /soft/giet_vm/giet_libs/stdio.c	(revision 627)
+++ /soft/giet_vm/giet_libs/stdio.c	(revision 628)
@@ -175,9 +175,9 @@
 
     {
-        char buf[30];
-        char * pbuf;
-        unsigned int len = 0;
+        char              buf[30];
+        char *            pbuf;
+        unsigned int      len = 0;
         static const char HexaTab[] = "0123456789ABCDEF";
-        unsigned int i;
+        unsigned int      i;
         
         /* Ignored fields : width and precision */
@@ -244,9 +244,10 @@
                 int imax;
                 
-                if (modifiers == LL_MOD) //64 bits
+                if (modifiers == LL_MOD) // 64 bits
                 {
                     val = va_arg( *args, unsigned long long);
                     
-                    if (*(format-1) == 'u' && (!(val & 0xFFFFFFFF00000000))) //if asked to print in base 10, can do only if it fits in 32 bits
+                    // if asked to print in base 10, can do only if it fits in 32 bits
+                    if (*(format-1) == 'u' && (!(val & 0xFFFFFFFF00000000ULL))) 
                     {
                         unsigned int uintv = (unsigned int) val;
@@ -308,8 +309,8 @@
                 unsigned long long
                     val = *(unsigned long long*)&vald, //get ieee754 without conversion
-                    digits = val & 0xFFFFFFFFFFFFF;    //get mantissa
+                    digits = val & 0xFFFFFFFFFFFFFULL;    //get mantissa
                 
                 unsigned int
-                    base = (unsigned int)((val & 0x7FF0000000000000) >> 52), //get exposant
+                    base = (unsigned int)((val & 0x7FF0000000000000ULL) >> 52), //get exposant
                     intp = (unsigned int)vald,         //get integer part of the float
                     decp;
@@ -319,5 +320,5 @@
                 if (base == 0x7FF) //special value
                 {
-                    if (digits & 0xFFFFFFFFFFFFF)
+                    if (digits & 0xFFFFFFFFFFFFFULL)
                     {
                         /* Not a Number */
@@ -331,5 +332,5 @@
                     {
                         /* inf */
-                        buf[0] = (val & 0x8000000000000000) ? '-' : '+';
+                        buf[0] = (val & 0x8000000000000000ULL) ? '-' : '+';
                         buf[1] = 'i';
                         buf[2] = 'n';
@@ -341,5 +342,5 @@
                 }
                 
-                if (val & 0x8000000000000000)
+                if (val & 0x8000000000000000ULL)
                 {
                     /* negative */
@@ -1002,4 +1003,20 @@
 }
 
+//////////////////////////////
+void giet_kill( char* name ) 
+{
+    sys_call( SYSCALL_KILL_APP,
+              (unsigned int)name,
+              0, 0, 0 );
+}
+
+//////////////////////////////
+void giet_exec( char* name ) 
+{
+    sys_call( SYSCALL_EXIT,
+              (unsigned int)name,
+              0, 0, 0 );
+}
+
 /////////////////////////////////////////
 void giet_assert( unsigned int condition,
Index: /soft/giet_vm/giet_libs/stdio.h
===================================================================
--- /soft/giet_vm/giet_libs/stdio.h	(revision 627)
+++ /soft/giet_vm/giet_libs/stdio.h	(revision 628)
@@ -40,6 +40,6 @@
 #define SYSCALL_TIM_START            0x15
 #define SYSCALL_TIM_STOP             0x16
-//                                   0x17
-//                                   0x18
+#define SYSCALL_KILL_APP             0x17
+#define SYSCALL_EXEC_APP             0x18
 #define SYSCALL_CTX_SWITCH           0x19
 #define SYSCALL_VOBJ_GET_VBASE       0x1A
@@ -325,4 +325,8 @@
 extern void giet_exit( char* string );
 
+extern void giet_kill( char* name );
+
+extern void giet_exec( char* name );
+
 extern void giet_assert( unsigned int condition, 
                          char*        string );
