Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

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