// 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.
-// As a special exception, if you include this header file into source
-// files to be compiled, this header file does not by itself cause
-// the resulting executable 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 General
-// Public License.
// -----------------------------------------------------------------------
//frsh_core_types.h
//==============================================
#include "frsh_distributed_types.h"
#include "frsh_error.h"
+#include "fosa.h"
+
FRSH_CPP_BEGIN_DECLS
/**
/** thread attributes object **/
typedef fosa_thread_attr_t frsh_thread_attr_t;
-/**
+/**
* The type references a function that may become a thread's
* code
**/
FRSH_RS_ADMITTED,
FRSH_RS_NOT_REQUESTED} frsh_renegotiation_status_t;
-
-
/**
* Vres Id type, that identifies a vres created to manage a given
* contract
**/
-typedef unsigned int frsh_vres_id_t; // => 0
+typedef FRSH_VRES_ID_T_OPAQUE frsh_vres_id_t; // => 0
/** Contract ressource type: processor, network, memory **/
typedef enum {
FRSH_RT_PROCESSOR = 0,
FRSH_RT_NETWORK = 1,
FRSH_RT_MEMORY = 2,
- FRSH_RT_DISK = 3
+ FRSH_RT_DISK = 3,
+ FRSH_RT_FPGA = 4,
+ FRSH_RT_LCD = 5
} frsh_resource_type_t;
/** Ressource Id: processor_id or network_id **/
/**********************************************/
-typedef unsigned int frsh_resource_id_t;
+typedef fosa_resource_id_t frsh_resource_id_t;
/** Kind of contract: regular, background or dummy **/
typedef enum {
/** List of vres **/
typedef struct {
int size;
- frsh_vres_id_t vres[FRSH_MAX_N_VRES];
+ frsh_vres_id_t vres[FRSH_MAX_GROUP_OPS];
} frsh_vres_group_t;
/** List of contracts to negotiate **/
typedef struct {
int size;
- frsh_contract_t* contracts[FRSH_MAX_N_VRES];
+ frsh_contract_t contracts[FRSH_MAX_GROUP_OPS];
} frsh_contracts_group_t;
-typedef struct {
- int size;
- frsh_contract_label_t contract_labels[FRSH_MAX_N_VRES];
-} frsh_contract_labels_group_t;
-
+typedef FRSH_GROUP_ID_T_OPAQUE frsh_group_id_t;
/**
* An abstract synchronization object is defined by the application.