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 - userland interface definitions 7 8 #ifndef MESSAGING_SERVICE_DEFS_H 9 #define MESSAGING_SERVICE_DEFS_H 10 11 #include <OS.h> 12 13 #include <messaging.h> 14 15 enum { 16 MESSAGING_COMMAND_SEND_MESSAGE = 0, 17 }; 18 19 struct messaging_area_header { 20 int32 lock_counter; 21 int32 size; // set to 0, when area is discarded 22 area_id kernel_area; 23 area_id next_kernel_area; 24 int32 command_count; 25 int32 first_command; 26 int32 last_command; 27 }; 28 29 struct messaging_command { 30 int32 next_command; 31 uint32 command; 32 int32 size; // == sizeof(messaging_command) + dataSize 33 char data[0]; 34 }; 35 36 struct messaging_command_send_message { 37 int32 message_size; 38 int32 target_count; 39 messaging_target targets[0]; // [target_count] 40 // char message[message_size]; 41 }; 42 43 #endif // MESSAGING_SERVICE_DEFS_H 44