Subversion Repositories shark

Rev

Rev 865 | Blame | Compare with Previous | Last modification | View Log | RSS feed

//fsf.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
//
// FSF(FIRST Scheduling Framework) available functionality
//============================================================

#include "fsf_configuration_parameters.h"
#include "fsf_opaque_types.h"
#include "fsf_basic_types.h"
#include "fsf_core.h"
#include "fsf_server.h"



// Configure theses modules by commenting out the appropiate lines

#include "fsf_hierarchical.h"         //
#include "fsf_shared_objects.h"
#include "fsf_dynamic_reclaiming.h"   //
#include "fsf_spare_capacity.h"
//#include "fsf_distributed_services.h"

#ifndef _FSF_H_
#define _FSF_H_

#ifndef FSF_HIERARCHICAL_MODULE_SUPPORTED
    #define FSF_HIERARCHICAL_MODULE_SUPPORTED        0

#endif  //FSF_HIERARCHICAL_MODULE_SUPPORTED

#ifndef FSF_SHARED_OBJECTS_MODULE_SUPPORTED
    #define FSF_SHARED_OBJECTS_MODULE_SUPPORTED      0
#endif  //FSF_SHARED_OBJECTS_MODULE_SUPPORTED

#ifndef FSF_DYNAMIC_RECLAIMING_MODULE_SUPPORTED
    #define FSF_DYNAMIC_RECLAIMING_MODULE_SUPPORTED  0
#endif  //FSF_DYNAMIC_RECLAIMING_MODULE_SUPPORTED

#ifndef FSF_SPARE_CAPACITY_MODULE_SUPPORTED
    #define FSF_SPARE_CAPACITY_MODULE_SUPPORTED      0

    //Return warnings if spare_capacity module is not included:

    //get rid of the pritfs (t.b.d)
 
    #define fsf_set_contract_reclamation_parameters  \
      (contract, budget_max, period_min, granularity,\
       utilization_set, quality,  importance)        \
       ( FSF_WRN_MODULE_NOT SUPPORTED )

   
    #define fsf_get_contract_reclamation_parameters  \
      (contract, budget_max, period_min, granularity,\
       utilization_set, quality, importance)         \
       ( FSF_WRN_MODULE_NOT SUPPORTED )

   
    #define fsf_request_change_quality_and_importance\
      (server, new_importance, new_quality)          \
       ( FSF_WRN_MODULE_NOT SUPPORTED )

       
    #define fsf_get_total_quality (server,total_quality)\
       ( FSF_WRN_MODULE_NOT SUPPORTED )


#endif  //FSF_SPARE_CAPACITY_MODULE_SUPPORTED

#ifndef FSF_DISTRIBUTED_SERVICES_MODULE_SUPPORTED
   #define FSF_DISTRIBUTED_SERVICES_MODULE_SUPPORTED 0
#else

   //system topology, it is the same in all the
   //nodes involved
   fsf_system_topology_t  system =
   { 1,                          // number of networks
     { 1,                          //network id
          3,                         //number of nodes
                                     // in the network
            { 1, 2, 3, 0, 0 }           //node ids
     },
     { 0, 0, { 0, 0, 0, 0, 0 } },
     { 0, 0, { 0, 0, 0, 0, 0 } },
     { 0, 0, { 0, 0, 0, 0, 0 } }
   }

   //this value should be different in each node.
   //But may be modified on-line before starting
   //network/remote negotiations
   fsf_node_id_t          local_node_id = 1;

#endif  //FSF_DISTRIBUTED_SERVICES_MODULE_SUPPORTED

#endif // _FSF_H_