#ifndef MESSAGE_H_ #define MESSAGE_H_ #include #include #include "types.h" // max_message_length = sender_id 4 chars // + underscore 1 char // + receiver_id 4 chars // + underscore 1 char // + time-stamp 10 chars // + underscore 1 char // + message_text 256 chars (max) // = 277 chars #define MAX_MESSAGE_LENGTH 277 // Message structure typedef struct message_t message_t; // and handle type typedef message_t *message_handle_t; // Initializes a message structure and returns the message handle. User must provide the length of // the message without the null termination character (strlen); message_handle_t message_init(const char *message, uint16_t length, node_id_t received_from); // Frees a message structure. void message_free(message_handle_t message_handle); // Adds an new receiver to the message. void message_add_sent_to(message_handle_t message_handle, node_id_t sent_to); // Returns the message. This functions returns a string in a statically allocated buffer, which // subsequent calls will overwrite! char *message_get(message_handle_t message_handle, int *message_length); // Returns true if the message has been previously sent to this ip, false otherwise. bool message_sent_to(message_handle_t message_handle, node_id_t id); #endif //MESSAGE_H_