Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. #include<menuet/os.h>
  2. #include<stdio.h>
  3. #include<stdarg.h>
  4. #include<string.h>
  5.  
  6. __u32 __menuet__open(char * name,char * data)
  7. {
  8.  __u32 __ret;
  9.  __asm__ __volatile__("int $0x40":"=a"(__ret):"0"(6),"b"((__u32)name),"c"(0),"d"(0xFFFFFFFF),"S"((__u32)data));
  10.  return __ret;
  11. }
  12.  
  13. void __menuet__save(char * name,char * data,__u32 count)
  14. {
  15.  __asm__ __volatile__("int $0x40"::"a"(33),"b"((__u32)name),"c"((__u32)data),"d"(count),"S"(0));
  16. }
  17.  
  18. void __menuet__exec_ramdisk(char * filename,char * args,...)
  19. {
  20.  va_list argz;
  21.  char buffer[1024];
  22.  memset(buffer,0,1024);
  23.  if(args)
  24.  {
  25.   va_start(argz,args);
  26.   vsprintf(buffer,args,argz);
  27.  }
  28.  va_end(argz);
  29.  __asm__ __volatile__("int $0x40"::"a"(19),"b"(filename),"c"((args ? buffer : NULL)));
  30. }
  31.  
  32. void __menuet__exec_hd(char * filename,char * args,...)
  33. {
  34.  va_list argz;
  35.  char buffer[1024];
  36.  char work_area[0xFFFF];
  37.  memset(buffer,0,1024);
  38.  if(args)
  39.  {
  40.   va_start(argz,args);
  41.   vsprintf(buffer,args,argz);
  42.  }
  43.  va_end(argz);
  44.  __asm__ __volatile__("int $0x40"::"a"(19),"b"(filename),"c"(args ? buffer : NULL),"d"(work_area));
  45. }
  46.