]> rtime.felk.cvut.cz Git - frescor/frsh-include.git/blobdiff - frsh.h
Upgrading FRSH trunk to D-AC2v2. Phase I: Moving FRSH-FOSA to FOSA
[frescor/frsh-include.git] / frsh.h
diff --git a/frsh.h b/frsh.h
index 029fc435f03e4c885886037a24cac204271677da..5190444b2ac820770a5b2bd0f49c44f20d65e23a 100644 (file)
--- a/frsh.h
+++ b/frsh.h
@@ -1,10 +1,34 @@
 // -----------------------------------------------------------------------
-//   Copyright (C) 2005  Mälardalen University, SWEDEN
+//  Copyright (C) 2006 - 2007 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
 //
-//   FRSH API web pages: http://marte.unican.es/frsh/docs/
+//   FSF API web pages: http://marte.unican.es/fsf/docs
 //                      http://shark.sssup.it/contrib/first/docs/
 //
 //  This file is part of FRSH API
 //  License.  This exception does not however invalidate any other
 //  reasons why the executable file might be covered by the GNU General
 //  Public License.
-// -----------------------------------------------------------------------
-//frsh.h
-//===========================================================
-//       FFFFFFIII   RRRRR      SSTTTTTTT
-//      FF         IIR   RR    SS
-//     FF           IR        SS
-//    FFFFFF         RRRR    SSSSST
-//   FF       FI       RRR  SS
-//  FF         II     RRR  SS
-// FF           IIIIIR    RS
+// ---------------------------------------------------------------------
+
+//==============================================
+//  ******** *******    ********  **      **
+//  **///// /**////**  **//////  /**     /**
+//  **      /**   /** /**        /**     /**
+//  ******* /*******  /********* /**********
+//  **////  /**///**  ////////** /**//////**
+//  **      /**  //**        /** /**     /**
+//  **      /**   //** ********  /**     /**
+//  //       //     // ////////   //      //
 //
-// FRSH(FIRST Scheduling Framework) available functionality
-//============================================================
+// FRSH(FRescor ScHeduler), pronounced "fresh"
+//==============================================
+#ifndef _FRSH_H_
+#define _FRSH_H_
+
+/**
+ * @file frsh.h
+ *
+ * Intended to be used by API clients to get the interface
+ * requirements.
+ *
+ * It is also used by the library files to enforce the interface
+ * headings.
+ *
+ * However it is NOT used by any of the FRSH include files to avoid
+ * having include deadlocks.
+ **/
+
+#include "fosa.h"
 
 #include "frsh_configuration_parameters.h"
-#include "frsh_opaque_types.h"
-#include "frsh_basic_types.h"
+
+/* We include all the types because they are needed for the
+   frsh_contract_parameters_t */
+
+#include "frsh_core_types.h"
+#include "frsh_shared_objects_types.h"
+#include "frsh_spare_capacity_types.h"
+#include "frsh_hierarchical_types.h"
+#include "frsh_distributed_types.h"
+#include "frsh_implementation_specific_types.h"
+
 #include "frsh_core.h"
+#include "frsh_thread_attrs.h"
+#include "frsh_time.h"
 #include "frsh_implementation_specific.h"
 
-
-// Configure theses modules by commenting out the appropiate lines
+// Configure these modules by commenting out the appropiate lines
 
 #include "frsh_hierarchical.h"                 //
 #include "frsh_shared_objects.h"
 #include "frsh_dynamic_reclaiming.h"           //
 #include "frsh_spare_capacity.h"
 #include "frsh_distributed.h"                  //
-#include "frsh_distributed_spare_capacity.h"   //
+#include "frsh_feedback_control.h"
+#include "frsh_memory_management.h"
+#include "frsh_energy_management.h"
 
-#ifndef _FRSH_H_
-#define _FRSH_H_
 
 #ifndef FRSH_HIERARCHICAL_MODULE_SUPPORTED
     #define FRSH_HIERARCHICAL_MODULE_SUPPORTED        0
     #define FRSH_SPARE_CAPACITY_MODULE_SUPPORTED      0
 
     //Return warnings if spare_capacity module is not included:
+
     #define frsh_set_contract_reclamation_parameters  \
       (contract, budget_max, period_min, granularity,\
        utilization_set, quality,  importance)        \
        ( FRSH_WRN_MODULE_NOT SUPPORTED )
-    
+
     #define frsh_get_contract_reclamation_parameters  \
       (contract, budget_max, period_min, granularity,\
        utilization_set, quality, importance)         \
        ( FRSH_WRN_MODULE_NOT SUPPORTED )
-   
+
     #define frsh_request_change_quality_and_importance\
       (server, new_importance, new_quality)          \
        ( FRSH_WRN_MODULE_NOT SUPPORTED )
-        
+
     #define frsh_get_total_quality (server,total_quality)\
        ( FRSH_WRN_MODULE_NOT SUPPORTED )
 
 #endif  //FRSH_SPARE_CAPACITY_MODULE_SUPPORTED
 
-#ifndef FRSH_DISTRIBUTED_MODULE_SUPPORTED
-    #define FRSH_DISTRIBUTED_MODULE_SUPPORTED 0
-#endif  //FRSH_DISTRIBUTED_MODULE_SUPPORTED
-
-#ifndef FRSH_DISTRIBUTED_SPARE_CAPACITY_MODULE_SUPPORTED
-    #define FRSH_DISTRIBUTED_SPARE_CAPACITY_MODULE_SUPPORTED 0
-   
-    //Return warnings if distributed_spare_capacity module is not included:
-
-    #define frsh_set_contract_granted_capacity_flag(contract,granted_capacity_flag)\
-       ( FRSH_WRN_MODULE_NOT SUPPORTED )
-    #define frsh_get_contract_granted_capacity_flag(contract,granted_capacity_flag)\
-       ( FRSH_WRN_MODULE_NOT SUPPORTED )
-   
-    #definr frsh_set_server_capacity(server,new_period,new_budget)\
-       ( FRSH_WRN_MODULE_NOT SUPPORTED )
-
-#endif  //FRSH_DISTRIBUTED_SPARE_CAPACITY_MODULE_SUPPORTED
-
-
 #endif // _FRSH_H_