* Adding msg{rcv,snd,get,ctl} syscalls to the system

* Add message queue init function call to main.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27417 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Salvatore Benedetto 2008-09-11 15:03:01 +00:00
parent f22e1421a4
commit 40dae3708f
4 changed files with 16 additions and 0 deletions

View File

@ -15,6 +15,8 @@
__BEGIN_DECLS
extern void xsi_msg_init();
/* user calls */
int _user_xsi_msgctl(int messageQueueID, int command, struct msqid_ds *buffer);
int _user_xsi_msgget(key_t key, int messageQueueFlags);

View File

@ -24,6 +24,7 @@ struct fd_info;
struct fd_set;
struct fs_info;
struct iovec;
struct msqid_ds;
struct net_stat;
struct pollfd;
struct rlimit;
@ -101,6 +102,16 @@ extern int _kern_xsi_semctl(int semID, int semNumber, int command,
extern status_t _kern_xsi_semop(int semID, struct sembuf *semOps,
size_t numSemOps);
/* POSIX XSI message queue syscalls */
extern int _kern_xsi_msgctl(int messageQueueID, int command,
struct msqid_ds *buffer);
extern int _kern_xsi_msgget(key_t key, int messageQueueFlags);
extern ssize_t _kern_xsi_msgrcv(int messageQueueID, void *messagePointer,
size_t messageSize, long messageType, int messageFlags);
extern int _kern_xsi_msgsnd(int messageQueueID,
const void *messagePointer, size_t messageSize,
int messageFlags);
/* team & thread syscalls */
extern thread_id _kern_load_image(const char* const* flatArgs,
size_t flatArgsSize, int32 argCount, int32 envCount,

View File

@ -39,6 +39,7 @@
#include <Notifications.h>
#include <port.h>
#include <posix/realtime_sem.h>
#include <posix/xsi_message_queue.h>
#include <posix/xsi_semaphore.h>
#include <real_time_clock.h>
#include <sem.h>
@ -170,6 +171,7 @@ _start(kernel_args *bootKernelArgs, int currentCPU)
TRACE("init POSIX semaphores\n");
realtime_sem_init();
xsi_sem_init();
xsi_msg_init();
TRACE("init VM threads\n");
vm_init_post_thread(&sKernelArgs);

View File

@ -17,6 +17,7 @@
#include <vm.h>
#include <thread.h>
#include <posix/realtime_sem.h>
#include <posix/xsi_message_queue.h>
#include <posix/xsi_semaphore.h>
#include <sem.h>
#include <port.h>