From bc150922b79993d9d43fc7f87d4fbf83ae444de2 Mon Sep 17 00:00:00 2001
From: Lionel Gauthier <lionel.gauthier@eurecom.fr>
Date: Thu, 17 Apr 2014 09:56:01 +0000
Subject: [PATCH] task skeleton

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5256 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 openair2/X2AP/x2ap.c | 79 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 openair2/X2AP/x2ap.c

diff --git a/openair2/X2AP/x2ap.c b/openair2/X2AP/x2ap.c
new file mode 100644
index 00000000000..8c3fe12a840
--- /dev/null
+++ b/openair2/X2AP/x2ap.c
@@ -0,0 +1,79 @@
+/*******************************************************************************
+Eurecom OpenAirInterface Core Network
+Copyright(c) 1999 - 2014 Eurecom
+
+  This program is free software; you can redistribute it and/or modify it
+  under the terms and conditions of the GNU General Public License,
+  version 2, as published by the Free Software Foundation.
+
+  This program is distributed in the hope it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+  more details.
+
+  You should have received a copy of the GNU General Public License along with
+  this program; if not, write to the Free Software Foundation, Inc.,
+  51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
+
+  The full GNU General Public License is included in this distribution in
+  the file called "COPYING".
+
+  Contact Information
+  Openair Admin: openair_admin@eurecom.fr
+  Openair Tech : openair_tech@eurecom.fr
+Forums       : http://forums.eurecom.fsr/openairinterface
+Address      : EURECOM,
+               Campus SophiaTech,
+               450 Route des Chappes,
+               CS 50193
+               06904 Biot Sophia Antipolis cedex,
+               FRANCE
+*******************************************************************************/
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+
+#include "intertask_interface.h"
+
+
+#include "assertions.h"
+#include "conversions.h"
+
+
+void *x2ap_task(void *arg)
+{
+    MessageDef *received_msg = NULL;
+    int         result;
+
+    X2AP_DEBUG("Starting X2AP layer\n");
+
+    x2ap_prepare_internal_data();
+
+    itti_mark_task_ready(TASK_X2AP);
+
+    while (1) {
+        itti_receive_msg(TASK_X2AP, &received_msg);
+
+        switch (ITTI_MSG_ID(received_msg)) {
+            case TERMINATE_MESSAGE:
+                itti_exit_task();
+                break;
+
+            default:
+                X2AP_ERROR("Received unhandled message: %d:%s\n",
+                           ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg));
+                break;
+        }
+
+        result = itti_free (ITTI_MSG_ORIGIN_ID(received_msg), received_msg);
+        AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
+
+        received_msg = NULL;
+    }
+    return NULL;
+}
+
+
-- 
GitLab