Subversion Repositories Kolibri OS

Rev

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

  1. #ifndef mesys_h
  2. #define mesys_h
  3. #ifdef GNUC
  4. #define stdcall __stdcall
  5. #define cdecl __cdecl
  6. #else
  7. #define stdcall __attribute__ ((__stdcall))
  8. #define cdecl  __attribute__ ((__cdecl))
  9. #endif
  10.  
  11. typedef unsigned long dword;
  12. typedef unsigned char byte;
  13. typedef unsigned short word;
  14.  
  15. extern void stdcall _msys_draw_window(int xcoord,int ycoord, int xsize,
  16.                                int ysize,int workcolor,int type,
  17.                                int captioncolor,int windowtype,int bordercolor);
  18. extern int  stdcall _msys_read_file(char* filename,int fileoffset,int size,void* data,
  19.                      int* filesize);
  20. extern int  stdcall _msys_write_file(char* filename,int fileoffset, int size, void* data);
  21. extern int  stdcall _msys_create_file(char* filename);
  22. extern void stdcall _msys_run_program(char* filename,char* parameters);
  23. extern void stdcall _msys_debug_out(int c);
  24. extern void debug_out_str(char* str);
  25. extern void stdcall _msys_set_background_size(int xsize,int ysize);
  26. extern void stdcall _msys_write_background_mem(int pos,int color);
  27. extern void stdcall _msys_draw_background(void);
  28. extern void stdcall _msys_set_background_draw_type(int type);
  29. extern void stdcall _msys_background_blockmove(void* src,int bgr_pos, int count);
  30. extern void stdcall _msys_draw_bar(int x, int y, int xsize, int ysize, int color);
  31. extern void stdcall _msys_make_button(int x, int y, int xsize, int ysize, int id, int color);
  32. extern int  stdcall _msys_get_button_id(void);
  33. extern int  stdcall _msys_get_system_clock(void);
  34. extern int  stdcall _msys_get_date(void);
  35. extern void stdcall _msys_delay(int m);
  36. extern void stdcall _msys_dga_get_resolution(int* xres, int* yres, int* bpp, int* bpscan);
  37. extern int  stdcall _msys_wait_for_event_infinite(void);
  38. extern int  stdcall _msys_check_for_event(void);
  39. extern int  stdcall _msys_wait_for_event(int time);
  40. extern void stdcall _msys_set_wanted_events(int ev);
  41. extern void stdcall _msys_exit(void);
  42. extern void stdcall _msys_putimage(int x, int y, int xsize, int ysize, void* image);
  43. extern void stdcall _msys_send_message(int pid, void* msg, int size);
  44. extern void stdcall _msys_define_receive_area(void* area, int size);
  45. extern int  stdcall _msys_get_irq_owner(int irq);
  46. extern int  stdcall _msys_get_data_read_by_irq(int irq, int* size, void* data);
  47. extern int  stdcall _msys_send_data_to_device(int port, unsigned char val);
  48. extern int  stdcall _msys_receive_data_from_device(int port,unsigned char* data);
  49. extern void stdcall _msys_program_irq(void* intrtable, int irq);
  50. extern void stdcall _msys_reserve_irq(int irq);
  51. extern void stdcall _msys_free_irq(int irq);
  52. extern int  stdcall _msys_reserve_port_area(int start,int end);
  53. extern int  stdcall _msys_free_port_area(int start,int end);
  54. extern int  stdcall _msys_get_key(void);
  55. extern void stdcall _msys_set_keyboard_mode(int mode);
  56. extern void stdcall _msys_line(int x1,int y1,int x2,int y2,int color);
  57. extern void stdcall _msys_midi_reset(void);
  58. extern void stdcall _msys_midi_send(int data);
  59. extern int  stdcall _msys_get_pci_version(void);
  60. extern int  stdcall _msys_get_last_pci_bus(void);
  61. extern int  stdcall _msys_get_pci_access_mechanism(void);
  62. extern int  stdcall _msys_pci_read_config_byte(int bus,int dev,int fn,int reg);
  63. extern int  stdcall _msys_pci_read_config_word(int bus,int dev,int fn,int reg);
  64. extern int  stdcall _msys_pci_read_config_dword(int bus,int dev,int fn,int reg);
  65. extern int  stdcall _msys_pci_write_config_byte(int bus,int dev,int fn,int reg,int value);
  66. extern int  stdcall _msys_pci_write_config_word(int bus,int dev,int fn,int reg,int value);
  67. extern int  stdcall _msys_pci_write_config_value(int bus,int dev,int fn,int reg,int value);
  68. extern int  stdcall _msys_putpixel(int x,int y,int color);
  69. #pragma pack(push,1)
  70. typedef struct {
  71.   int cpu_usage;             //+0
  72.   int window_pos_info;       //+4
  73.   short int reserved1;       //+8
  74.   char name[12];             //+10
  75.   int memstart;              //+22
  76.   int memused;               //+26
  77.   int pid;                   //+30
  78.   int winx_start;            //+34
  79.   int winy_start;            //+38
  80.   int winx_size;             //+42
  81.   int winy_size;             //+46
  82.   short int slot_info;       //+50
  83.   short int reserved2;       //+52
  84.   int clientx;               //+54
  85.   int clienty;               //+58
  86.   int clientwidth;           //+62
  87.   int clientheight;          //+66
  88.   unsigned char window_state;//+70
  89.   char reserved3[1024-71];   //+71
  90. } process_table_entry;
  91. #pragma pack(pop)
  92. extern int  stdcall _msys_get_process_table(process_table_entry* proctab,int pid);
  93. extern int  stdcall _msys_get_screen_size(int* x,int* y);
  94. extern void stdcall _msys_sound_load_block(void* blockptr);
  95. extern void stdcall _msys_sound_play_block(void);
  96. extern void stdcall _msys_sound_set_channels(int channels);
  97. extern void stdcall _msys_sound_set_data_size(int size);
  98. extern void stdcall _msys_sound_set_frequency(int frequency);
  99. extern void stdcall _msys_sound_speaker_play(void* data);
  100. extern void stdcall _msys_write_text(int x,int y,int color,char* text,int len);
  101. extern void* stdcall  _msys_start_thread(void (* func_ptr)(void),int stack_size,int* pid);
  102. extern void stdcall _msys_window_redraw(int status);
  103. extern void* malloc(int);
  104. extern void  free(void*);
  105. extern void* realloc(void*,int);
  106.  
  107. extern dword* stdcall _msys_cofflib_load(char* name);
  108. extern char* stdcall _msys_cofflib_getproc(void* exp,char* sz_name);
  109.  
  110. #endif
  111.