Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1266 → Rev 1286

/programs/system/kobra/trunk/stdlib.c
File deleted
/programs/system/kobra/trunk/stdlib.h
File deleted
/programs/system/kobra/trunk/malloc.h
File deleted
/programs/system/kobra/trunk/malloc.c
File deleted
/programs/system/kobra/trunk/heap.c
File deleted
/programs/system/kobra/trunk/defs.h
File deleted
/programs/system/kobra/trunk/heap.h
File deleted
/programs/system/kobra/trunk/kolibri.c
File deleted
/programs/system/kobra/trunk/kolibri.h
File deleted
/programs/system/kobra/trunk/Makefile
1,5 → 1,9
ROOT=../../../develop/libraries/framework/trunk
 
include ../../../develop/libraries/framework/trunk/config.mk
 
# Note that kobra_st.o MUST be first and kobra.o last.
OBJECTS=kobra_st.o heap.o malloc.o stdlib.o kolibri.o kobra.o
OBJECTS=kobra_st.o $(ROOT)/stdlib/heap.o $(ROOT)/stdlib/malloc.o $(ROOT)/stdlib/stdlib.o $(ROOT)/kolibri/kolibri.o $(ROOT)/libIPC/ipc.o kobra.o
 
# Set real path to kolibri.img if you want to use install option
KOLIBRI_IMG=../../../../../../0.7.x-night/kolibri.img
7,27 → 11,27
# Path to kobra.kex on floppy (directory should be created before installing)
DESTDIR=kobra/
 
CC=gcc
AS=gcc
LD=ld
OBJCOPY=objcopy
READELF=readelf
MCOPY=mcopy
RM=rm -rf
# CC=gcc
# AS=gcc
# LD=ld
# OBJCOPY=objcopy
# READELF=readelf
# MCOPY=mcopy
# RM=rm -rf
 
CFLAGS=-c -m32 -O2
ASFLAGS=-c -m32
LDFLAGS=-nostdlib -T kolibri.ld -melf_i386
# CFLAGS=-c -m32 -O2
# ASFLAGS=-c -m32
# LDFLAGS=-nostdlib -T kolibri.ld -melf_i386
OBJCOPYFLAGS=-O binary
READELFFLAGS=--syms
MCOPYFLAGS=-D o
 
.c.o:
$(CC) $(CFLAGS) $<
# .c.o:
# $(CC) $(CFLAGS) $<
#
# .s.o:
# $(AS) $(ASFLAGS) $<
 
.s.o:
$(AS) $(ASFLAGS) $<
 
all: $(OBJECTS)
$(LD) $(LDFLAGS) -o kobra.elf $(OBJECTS)
$(OBJCOPY) $(OBJCOPYFLAGS) kobra.elf kobra.kex
/programs/system/kobra/trunk/history.txt
1,7 → 1,11
==================== ãá᪨© ====================
0.1.1 - 25.11.2009 - vkos
* ¥à¥å®¤ ­  libIPC, ¯¥à¥­®á ¢á¯®¬®£ â¥«ì­ëå ä ©«®¢ ¢ framework
0.1 - 26.10.2009 - vkos
+ ¥ «¨§®¢ ­ë ¡ §®¢ë¥ ä㭪樨: ॣ¨áâà æ¨ï, ¢áâ㯫¥­¨¥/¢ë室 ¨§ £à㯯ë, à áá뫪  á®®¡é¥­¨©
 
==================== English ====================
0.1.1 - 25.11.2009 - vkos
* Moved to libIPC, some files moved to framework
0.1 - 26.10.2009 - vkos
+ Base functions are realised: registration, joining/leaving group, message distribution
/programs/system/kobra/trunk/kobra.c
18,11 → 18,12
***************************************************************************************************/
 
#include "kobra.h"
#include "heap.h"
#include "malloc.h"
#include "kolibri.h"
#include "defs.h"
#include "stdlib.h"
#include <heap.h>
#include <malloc.h>
#include <kolibri.h>
#include <defs.h>
#include <stdlib.h>
#include <ipc.h>
 
group_list_t *main_group_list;
thread_list_t *main_thread_list;
55,21 → 56,22
main_group_list->thread_list = main_thread_list = new_thread_list(kolibri_get_my_tid());
main_thread_list->next = main_thread_list->previos = main_thread_list;
kolibri_IPC_init(malloc(0x1000), 0x1000);
kolibri_IPC_unlock();
IPCInit();
// kolibri_IPC_unlock();
// Set event mask
kolibri_set_event_mask(KOLIBRI_IPC_EVENT_MASK);
// kolibri_event_set_mask(KOLIBRI_IPC_EVENT_MASK);
while (1) {
if (kolibri_event_wait() != KOLIBRI_IPC_EVENT) { // Just ignore this error
continue;
Message *msg = IPCWaitMessage(-1);
// if (kolibri_event_wait() != KOLIBRI_IPC_EVENT) { // Just ignore this error
// continue;
// }
message_handle(msg);
free(msg);
// kolibri_IPC_clear_buff();
}
message_handle(kolibri_IPC_get_next_message());
kolibri_IPC_clear_buff();
}
}
 
void message_handle(kolibri_IPC_message_t *message){
char *msg = (char *)message+sizeof(kolibri_IPC_message_t);
208,7 → 210,7
memcpy(msg+4, message, length);
do {
kolibri_IPC_send(thread->tid, msg, length+sizeof(int));
IPCSend(thread->tid, msg, length+sizeof(int)); // Here may be some errror handler
thread = thread->next;
} while (thread != thread_list);
}
/programs/system/kobra/trunk/kobra.h
21,7 → 21,8
#ifndef _KOBRA_H_
#define _KOBRA_H_
 
#include "kolibri.h"
#include <kolibri.h>
#include <ipc.h>
 
#define KOBRA_CMD_REGISTER 'R'
#define KOBRA_CMD_JOIN 'J'
/programs/system/kobra/trunk/readme.txt
1,5 → 1,5
==================== ãá᪨© ====================
‚¥àá¨ï: 0.1
‚¥àá¨ï: 0.1.1
Kobra (Kolibri Bus for Reaching Applications) - ¤¥¬®­ (á¥à¢¥à), ¯®§¢®«ïî騩 ¯à¨«®¦¥­¨ï¬ ¯à®é¥ ®¡é âìáï ¤àã£ á ¤à㣮¬.
„«ï à ¡®âë á Kobra ­¥®¡å®¤¨¬® § à¥£¨áâà¨à®¢ âìáï ­  á¥à¢¥à¥ (ç¥à¥§ IPC). ®á«¥ ॣ¨áâà æ¨¨ ¯à¨«®¦¥­¨î ¤®áâ㯭ë á«¥¤ãî騥 ä㭪樨:
-‚áâ㯨âì ¢ £à㯯㠯®â®ª®¢ (¥á«¨ ­¥â - ᮧ¤ ñâáï)
11,7 → 11,7
à¨¬¥à®¢ à ¡®âë ¯®ª  ­¥â, ®¤­ ª® ¢ ¡«¨¦ ©è¥¥ ¢à¥¬ï ¨á¯®«ì§®¢ ­¨¥ Kobra ¡ã¤¥â ॠ«¨§®¢ ­® ¢ Launch ¨ ¢ ­®¢®¬ åà ­¨â¥«¥ íªà ­ .
 
==================== English ====================
Version: 0.1
Version: 0.1.1
Kobra (Kolibri Bus for Reaching Applications) is a daemon (server), which allows applications to easier communicate with each other.
For working with Kobra application should register on server (via IPC). After registration following functions are available for application:
-Join thread group (if there is no such group, it will be created)