#include <time.h>
+FRSH_CPP_BEGIN_DECLS
+
/**
* @file frsh_spare_capacity_types.h
- *
- * Defines and typedefs for types used in spare_capacity functions.
**/
/**
/* D E F I N I T I O N S */
/*************************/
-/** Granularity of spare capacity requirements **/
-typedef enum {FRSH_CONTINUOUS, FRSH_DISCRETE} frsh_granularity_t;
+/** Granularity of spare capacity requirements: continuous or discrete **/
+typedef enum {FRSH_GR_CONTINUOUS, FRSH_GR_DISCRETE} frsh_granularity_t;
-/** Utilization (C and T) **/
+/** Utilization (C, T, and D) **/
typedef struct {
- struct timespec budget; // Execution time
- struct timespec period; // Period
-} frsh_utilization_value_t;
+ frsh_rel_time_t budget; // Execution time
+ frsh_rel_time_t period; // Period
+ frsh_rel_time_t deadline; // Deadline
+} frsh_utilization_t;
/** List of utilization values **/
typedef struct {
int size; // = 0
- frsh_utilization_value_t value[FRSH_MAX_N_UTILIZATION_VALUES];
+ frsh_utilization_t utilizations[FRSH_MAX_N_UTILIZATION_VALUES];
} frsh_utilization_set_t;
// Constants for assigning default values
-#define FRSH_DEFAULT_GRANULARITY FRSH_CONTINUOUS
-#define FRSH_DEFAULT_QUALITY 0
+#define FRSH_DEFAULT_GRANULARITY FRSH_GR_CONTINUOUS
+#define FRSH_DEFAULT_WEIGHT 0
#define FRSH_DEFAULT_IMPORTANCE 1
// Constants for omitting the assignment of values to specific
(frsh_utilization_set_t *)NULL
/*@}*/
+
+FRSH_CPP_END_DECLS
+
+
#endif /* !FRSH_SPARE_CAPACITY_TYPES_H_ */