43,7 → 43,16 |
#define FSF_NULL_DEADLINE (struct timespec *)NULL |
#define FSF_NULL_SIGNAL 0 |
|
/** |
Possible values returned by fsf_get_renegotiation_status |
*/ |
typedef enum {FSF_IN_PROGRESS, |
FSF_REJECTED, |
FSF_ADMITTED, |
FSF_NOT_REQUESTED} |
fsf_renegotiation_status_t; |
|
|
// |
// Types for the spare capacity module |
// |
114,7 → 123,7 |
// |
|
// Scheduling policies |
typedef enum {FSF_FP, FSF_EDF, FSF_TABLE_DRIVEN, FSF_POSIX, FSF_RM, FSF_NONE} |
typedef enum {FSF_FP, FSF_EDF, FSF_TABLE_DRIVEN, FSF_RR, FSF_NONE} |
fsf_sched_policy_t; |
|
// Scheduling policy and parameters |
129,17 → 138,17 |
// TABLE_DRIVEN : struct fsf_table_driven_params_t |
|
|
struct fsf_target_window { |
//Scheduling parameters for the table-driven policy |
//list of target windows |
typedef struct fsf_target_window { |
struct timespec start; |
struct timespec end; |
struct timespec comp_time; |
}; |
} fsf_target_window; |
|
|
//Scheduling parameters for the table-driven policy (t.b.d) |
typedef struct { |
int size; |
struct fsf_target_window table[FSF_MAX_N_TARGET_WINDOWS]; |
fsf_target_window table[FSF_MAX_N_TARGET_WINDOWS]; |
} fsf_table_driven_params_t; |
|
|
163,40 → 172,43 |
|
|
// Error codes |
#define FSF_ERR_TOO_MANY_TASKS 0x02003001 |
#define FSF_ERR_BAD_ARGUMENT 0x02003002 |
#define FSF_ERR_INVALID_SYNCH_OBJ_HANDLE 0x02003003 |
#define FSF_ERR_NO_RENEGOTIATION_REQUESTED 0x02003004 |
#define FSF_ERR_CONTRACT_REJECTED 0x02003005 |
#define FSF_ERR_NOT_SCHEDULED_CALLING_THREAD 0x02003006 |
#define FSF_ERR_UNBOUND_THREAD 0x02003007 //is it still in?? |
#define FSF_ERR_UNKNOWN_APPSCHEDULED_THREAD 0x02003008 |
#define FSF_ERR_NOT_CONTRACTED_SERVER 0x02003009 |
#define FSF_ERR_NOT_SCHEDULED_THREAD 0x02003010 |
#define FSF_ERR_TOO_MANY_SERVICE_JOBS 0x02003011 |
#define FSF_ERR_TOO_MANY_SYNCH_OBJS 0x02003012 |
#define FSF_ERR_TOO_MANY_SERVERS_IN_SYNCH_OBJ 0x02003013 |
#define FSF_ERR_TOO_MANY_EVENTS_IN_SYNCH_OBJ 0x02003014 |
#define FSF_ERR_INTERNAL_ERROR 0x02003015 |
#define FSF_ERR_TOO_MANY_SERVERS 0x02003016 |
#define FSF_ERR_INVALID_SCHEDULER_REPLY 0x02003017 |
#define FSF_ERR_TOO_MANY_PENDING_REPLENISHMENTS 0x02003018 |
#define FSF_WRN_MODULE_NOT_SUPPORTED 0x02004001 |
#define FSF_ERR_BASE_VALUE 0x02004000 |
|
#define FSF_ERR_SYSTEM_ALREADY_INITIALIZED 0x02004002 |
#define FSF_ERR_SHARED_OBJ_ALREADY_INITIALIZED 0x02004003 |
#define FSF_ERR_SHARED_OBJ_NOT_INITIALIZED 0x02004004 |
#define FSF_ERR_SCHED_POLICY_NOT_COMPATIBLE 0x02004005 |
#define FSF_ERR_TOO_MANY_TASKS 0x02004001 |
#define FSF_ERR_BAD_ARGUMENT 0x02004002 |
#define FSF_ERR_INVALID_SYNCH_OBJ_HANDLE 0x02004003 |
#define FSF_ERR_NO_RENEGOTIATION_REQUESTED 0x02004004 |
#define FSF_ERR_CONTRACT_REJECTED 0x02004005 |
#define FSF_ERR_NOT_SCHEDULED_CALLING_THREAD 0x02004006 |
#define FSF_ERR_NOT_BOUND_THREAD 0x02004007 |
#define FSF_ERR_UNKNOWN_SCHEDULED_THREAD 0x02004008 |
#define FSF_ERR_NOT_CONTRACTED_SERVER 0x02004009 |
#define FSF_ERR_NOT_SCHEDULED_THREAD 0x0200400A |
#define FSF_ERR_TOO_MANY_SERVICE_JOBS 0x0200400B |
#define FSF_ERR_TOO_MANY_SYNCH_OBJS 0x0200400C |
#define FSF_ERR_TOO_MANY_SERVERS_IN_SYNCH_OBJ 0x0200400D |
#define FSF_ERR_TOO_MANY_EVENTS_IN_SYNCH_OBJ 0x0200400E |
#define FSF_ERR_INTERNAL_ERROR 0x0200400F |
#define FSF_ERR_TOO_MANY_SERVERS 0x02004010 |
#define FSF_ERR_INVALID_SCHEDULER_REPLY 0x02004011 |
#define FSF_ERR_TOO_MANY_PENDING_REPLENISHMENTS 0x02004012 |
#define FSF_ERR_SYSTEM_ALREADY_INITIALIZED 0x02004013 |
#define FSF_ERR_SHARED_OBJ_ALREADY_INITIALIZED 0x02004014 |
#define FSF_ERR_SHARED_OBJ_NOT_INITIALIZED 0x02004015 |
#define FSF_ERR_SCHED_POLICY_NOT_COMPATIBLE 0x02004016 |
#define FSF_ERR_SERVER_WORKLOAD_NOT_COMPATIBLE 0x02004017 |
#define FSF_ERR_ALREADY_BOUND 0x02004018 |
#define FSF_ERR_WRONG_NETWORK 0x02004019 |
#define FSF_ERR_TOO_LARGE 0x0200401A |
#define FSF_ERR_BUFFER_FULL 0x0200401B |
#define FSF_ERR_NO_SPACE 0x0200401C |
#define FSF_ERR_NO_MESSAGES 0x0200401D |
#define FSF_WRN_MODULE_NOT_SUPPORTED 0x0200401E |
#define FSF_ERR_SYSTEM_NOT_INITIALIZED 0x0200401F |
#define FSF_ERR_TOO_MANY_SHARED_OBJS 0x02004020 |
|
#define FSF_ERR_SERVER_WORKLOAD_NOT_COMPATIBLE 0x02004006 |
#define FSF_ERR_LAST_VALUE 0x02004020 |
|
#define FSF_ERR_ALREADY_BOUND 0x02004007 |
#define FSF_ERR_WRONG_NETWORK 0x02004008 |
#define FSF_ERR_NOT_BOUND 0x02004009 //look ^^^^^^^^ |
#define FSF_ERR_TOO_LARGE 0x02004010 |
#define FSF_ERR_BUFFER_FULL 0x02004011 |
#define FSF_ERR_NO_SPACE 0x02004012 |
#define FSF_ERR_NO_MESSAGES 0x02004013 |
|
|
#endif // _FSF_BASIC_TYPES_H_ |