/*************************************************************************************************** * Copyright (C) Vasiliy Kosenko (vkos), 2009 * * This program is free software: you can redistribute it and/or modify it under the terms of the * * GNU General Public License as published by the Free Software Foundation, either version 3 * * of the License, or (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See * * the GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License along with this program. * * If not, see . * ***************************************************************************************************/ #ifndef _KOLIBRI_H_ #define _KOLIBRI_H_ #define KOLIBRI_ACCESS_READ 0x0 #define KOLIBRI_CREATE 0x8 #define KOLIBRI_EVENT_IPC_MASK 0x40 #define KOLIBRI_EVENT_IPC 0x7 // struct kolibri_memarea { void *addr; int error; // or size char *name; }; typedef struct kolibri_memarea kolibri_memarea_t; // #pragma pack(push,1) struct kolibri_process_info { long cpu_using; // +0 short window_position; // +4 short window_position_slot; // +6 short reserved_0; // +8 char name[11]; // +10 char reserved_const_0; // +21 unsigned long addr; // +22 long mem_using; // +26 long tid; // +30 long window_x; long window_y; long window_width; long window_height; short state; short reserved_const_1; long window_client_x; long window_client_y; long window_client_width; long window_client_height; char window_state; }; #pragma pack(pop) typedef struct kolibri_process_info kolibri_process_info_t; // //extern kolibri_IPC_area_t *kolibri_IPC_area; // // // int kolibri_IPC_set_area(void *area, int size); // int kolibri_IPC_send(int tid, void *msg, int length); // void kolibri_IPC_unlock(); // void kolibri_IPC_lock(); // int kolibri_IPC_init(void *area, int size); // kolibri_IPC_message_t *kolibri_IPC_get_next_message(); // void kolibri_IPC_clear_buff(); int kolibri_event_wait(); /* * Memory functions */ kolibri_memarea_t kolibri_new_named_memory(char *name, int size, int flags); int kolibri_heap_init(); void *kolibri_malloc(int nbytes); /* * Events functions */ void kolibri_set_event_mask(int mask); #endif