/*
 * Copyright (c) 2017 FH Dortmund and others
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Description:
 *     Socket server for rover-web to rover-app communication
 *     Header file
 *
 * Contributors:
 *    M.Ozcelikors <mozcelikors@gmail.com>, created 26.10.2017
 *
 */


#ifndef TASKS_SOCKET_SERVER_TASK_H_
#define TASKS_SOCKET_SERVER_TASK_H_


/* Interfaces */
void *Socket_Server_Task(void * arg);


#endif /* TASKS_SOCKET_SERVER_TASK_H_ */
