]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - src_marte/tests/test_queue_signal_fosa/test_queue_signal_fosa.c
Fixing license header
[frescor/fosa.git] / src_marte / tests / test_queue_signal_fosa / test_queue_signal_fosa.c
index 7ec2a68d9e9df2458722c15fdde058798937d176..5751f4c7bd4c9aa3a35156962e961473768813d6 100644 (file)
-/*
-** test_queue_signal.c
-** 
-** Made by (Miguel marciano)
-** Login   <miguel@namir.ctr.unican.es>
-** 
-** Started on  Thu Nov  8 16:22:18 2007 Miguel marciano
-** Last update Sun May 12 01:17:25 2002 Speed Blue
-*/
+// -----------------------------------------------------------------------
+//  Copyright (C) 2006 - 2008 FRESCOR consortium partners:
+//
+//    Universidad de Cantabria,              SPAIN
+//    University of York,                    UK
+//    Scuola Superiore Sant'Anna,            ITALY
+//    Kaiserslautern University,             GERMANY
+//    Univ. Politécnica  Valencia,           SPAIN
+//    Czech Technical University in Prague,  CZECH REPUBLIC
+//    ENEA                                   SWEDEN
+//    Thales Communication S.A.              FRANCE
+//    Visual Tools S.A.                      SPAIN
+//    Rapita Systems Ltd                     UK
+//    Evidence                               ITALY
+//
+//    See http://www.frescor.org for a link to partners' websites
+//
+//           FRESCOR project (FP6/2005/IST/5-034026) is funded
+//        in part by the European Union Sixth Framework Programme
+//        The European Union is not liable of any use that may be
+//        made of this code.
+//
+//
+//  based on previous work (FSF) done in the FIRST project
+//
+//   Copyright (C) 2005  Mälardalen University, SWEDEN
+//                       Scuola Superiore S.Anna, ITALY
+//                       Universidad de Cantabria, SPAIN
+//                       University of York, UK
+//
+//   FSF API web pages: http://marte.unican.es/fsf/docs
+//                      http://shark.sssup.it/contrib/first/docs/
+//
+//   This file is part of FOSA (Frsh Operating System Adaption)
+//
+//  FOSA is free software; you can redistribute it and/or modify it
+//  under terms of the GNU General Public License as published by the
+//  Free Software Foundation; either version 2, or (at your option) any
+//  later version.  FOSA is distributed in the hope that 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 FOSA; see file
+//  COPYING. If not, write to the Free Software Foundation, 675 Mass Ave,
+//  Cambridge, MA 02139, USA.
+//
+//  As a special exception, including FOSA header files in a file,
+//  instantiating FOSA generics or templates, or linking other files
+//  with FOSA objects to produce an executable application, does not
+//  by itself cause the resulting executable application to be covered
+//  by the GNU General Public License. This exception does not
+//  however invalidate any other reasons why the executable file might be
+//  covered by the GNU Public License.
+// -----------------------------------------------------------------------
 
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
 
-#include "frsh.h"
 #include "fosa.h"
-#include "eat.h"
 
-#include "frsh_debug.h"
-#include "frsh_error.h"
+#define TEST_SIGNAL (SIGRTMIN + 6)
 
 int main()
 {
     int terror = -1;
 
-    struct timespec past_time = {-1, 1};
-    struct timespec current_time = {-1, 1};
+    fosa_abs_time_t past_time;
+    fosa_abs_time_t current_time;
     fosa_timer_id_t timer;
 
-    frsh_signal_t signal_set[1];
-    frsh_signal_info_t signal_info;
-    frsh_signal_t signal_received;
+    fosa_signal_t signal_set[1];
+    fosa_signal_info_t signal_info;
+    fosa_signal_t signal_received;
 
     int my_test_value = 42;
-    struct timespec eat_time = {2, 0};
+    fosa_rel_time_t eat_time = fosa_msec_to_rel_time(2000);
 
 
-    memset(&current_time, 0, sizeof(current_time) );
-    memset(&signal_info, 0, sizeof(signal_info) );
-    memset(&timer, 0, sizeof(timer) );
-    memset(&signal_set, 0, sizeof(signal_set) );
-    memset(&signal_received, 0, sizeof(signal_received) );
-    
 
     /* We block the signals that we are going to process */
     /*****************************************************/
-    signal_set[0] = FRSH_SCHEDULER_SIGNAL;
+    signal_set[0] = TEST_SIGNAL;
     terror = fosa_set_accepted_signals(signal_set, 1);
     if (terror != 0) exit(1);
 
-    
+
 
     /* We create a timer based on the FOSA_CLOCK_REALTIME */
     /******************************************************/
     signal_info.sival_int = my_test_value;
-    terror = fosa_timer_create(FOSA_CLOCK_REALTIME, FRSH_SCHEDULER_SIGNAL, signal_info, &timer);
+    terror = fosa_timer_create(FOSA_CLOCK_REALTIME, TEST_SIGNAL, signal_info, &timer);
     if (terror != 0) exit(1);
 
     /* I get the time BEFORE doing the eat */
     /***************************************/
     terror = fosa_clock_get_time(FOSA_CLOCK_REALTIME, &past_time);
     if (terror != 0) exit(1);
-    printf("Current time:  %d sec, %d nsec\n", past_time.tv_sec, past_time.tv_nsec);
+    printf("Current time:  %ld msec\n", fosa_abs_time_to_msec(past_time) );
 
     /* Now I do some work for some secs */
     /************************************/
-    frsh_eat(&eat_time);
+    fosa_eat(&eat_time);
 
     /* I read the time again */
     /*************************/
     terror = fosa_clock_get_time(FOSA_CLOCK_REALTIME, &current_time);
     if (terror != 0) exit(1);
-    printf("Current time:  %d sec, %d nsec\n", current_time.tv_sec, current_time.tv_nsec);
-    
+    printf("Current time:  %ld msec\n", fosa_abs_time_to_msec(current_time) );
+
     /* I arm the timer to the past                                    */
     /* Since we have blocked this signal, the signal should be stored */
     /******************************************************************/
     printf("Arming the timer\n");
-    terror = fosa_timer_arm(timer, true, &past_time);
+    terror = fosa_abs_timer_arm(timer, &past_time);
 
 
     /* Now I do the sigwait */