/**
 * @file service_management.h
 *
 * @brief Service management (header).
 *
 * Copyright 2007-2008, Freie Universitaet Berlin. All rights reserved.
 * Please refer to the COPYING file for detailed licensing information.
 *
 * @author Georg Wittenburg
 *
 * $Id: service_management.h 2684 2008-06-25 15:44:33Z wittenbu $
 */

#ifndef SERVICE_MANAGEMENT_H
#define SERVICE_MANAGEMENT_H

#include "../types.h"
#include "service_types.h"

SERVICE_service_t* alloc_service(const SERVICE_id_t* service_id, size_t service_data_size);
void start_service(SERVICE_service_t* service);
void stop_service(SERVICE_service_t* service);
void free_service(SERVICE_service_t* service);
void update_service_data(SERVICE_service_t* service, uint16_t offset, size_t size, const char* data);
SERVICE_service_t* get_service(const SERVICE_id_t* service_id);
SERVICE_service_t* get_active_service(const SERVICE_id_t* service_id);

#endif	// SERVICE_MANAGEMENT_H
