1/* 2 * Copyright 2005, Ingo Weinhold, bonefish@users.sf.net. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 6// kernel-internal interface for the messaging service 7 8#ifndef MESSAGING_H 9#define MESSAGING_H 10 11#include <OS.h> 12 13#ifdef __cplusplus 14extern "C" { 15#endif 16 17typedef struct messaging_target { 18 port_id port; 19 int32 token; 20} messaging_target; 21 22status_t init_messaging_service(); 23 24status_t send_message(const void *message, int32 messageSize, 25 const messaging_target *targets, int32 targetCount); 26 27// syscalls 28area_id _user_register_messaging_service(sem_id lockingSem, sem_id counterSem); 29status_t _user_unregister_messaging_service(); 30 31#ifdef __cplusplus 32} 33#endif 34 35 36// C++ only 37 38#ifdef __cplusplus 39 40namespace BPrivate { 41 class KMessage; 42} 43 44status_t send_message(const BPrivate::KMessage *message, 45 const messaging_target *targets, 46 int32 targetCount); 47 48#endif // __cplusplus 49 50#endif // MESSAGING_H 51