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 vint32 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; 33 char data[0]; 34 }; 35 36 struct messaging_command_new_area { 37 area_id area; 38 }; 39 40 struct messaging_command_send_message { 41 int32 message_size; 42 int32 target_count; 43 messaging_target targets[0]; // [target_count] 44 // char message[message_size]; 45 }; 46 47 #endif // MESSAGING_SERVICE_DEFS_H 48