Main Page | Modules | Data Structures | File List | Data Fields | Globals

fsf_basic_types.h File Reference

#include <time.h>
#include "fsf_opaque_types.h"
#include "fsf_configuration_parameters.h"

Data Structures

struct  fsf_contracts_group_t
 List of contracts to negotiate. More...

struct  fsf_critical_section_data_t
struct  fsf_critical_sections_t
struct  fsf_sched_params_t
struct  fsf_servers_group_t
 List of servers to cancel. More...

struct  fsf_table_driven_params_t
struct  fsf_target_window
struct  fsf_utilization_set_t
struct  fsf_utilization_value_t

Defines

#define FSF_DEFAULT_WORKLOAD   FSF_INDETERMINATE
#define FSF_DEFAULT_D_EQUALS_T   false
#define FSF_DEFAULT_DEADLINE   {0,0}
#define FSF_NULL_DEADLINE   (struct timespec *)NULL
#define FSF_NULL_SIGNAL   0
#define FSF_DEFAULT_GRANULARITY   FSF_CONTINUOUS
#define FSF_DEFAULT_QUALITY   0
#define FSF_DEFAULT_IMPORTANCE   1
#define FSF_NULL_UTILIZATION_SET   (fsf_utilization_set_t *)NULL
#define FSF_MAX_QUALITY   (2**32 -1)
#define FSF_MIN_QUALITY   0
#define FSF_MAX_IMPORTANCE   FSF_N_IMPORTANCE_LEVELS
#define FSF_MIN_IMPORTANCE   1
#define FSF_DEFAULT_SCHED_POLICY   FSF_NONE
#define FSF_DEFAULT_NETWORK_ID   1
#define FSF_NULL_NETWORK_ID   0
#define FSF_ERR_BASE_VALUE   0x02004000
#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   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_LAST_VALUE   0x02004020

Typedefs

typedef FSF_CONTRACT_PARAMETERS_T_OPAQUE fsf_contract_parameters_t
typedef FSF_SYNCH_OBJ_HANDLE_T_OPAQUE fsf_synch_obj_handle_t
typedef int fsf_server_id_t
typedef void *(* fsf_thread_code_t )(void *)
typedef unsigned long fsf_preemption_level_t
typedef char * fsf_shared_obj_id_t
typedef FSF_SHARED_OBJ_HANDLE_T_OPAQUE fsf_shared_obj_handle_t
typedef fsf_target_window fsf_target_window
typedef void * fsf_sched_init_info_t
typedef unsigned int fsf_network_id_t
typedef FSF_SEND_ENDPOINT_T_OPAQUE fsf_send_endpoint_t
typedef FSF_RECEIVE_ENDPOINT_T_OPAQUE fsf_receive_endpoint_t
typedef unsigned int fsf_node_address_t
typedef unsigned int fsf_port_t

Enumerations

enum  fsf_workload_t { FSF_BOUNDED, FSF_INDETERMINATE, FSF_OVERHEAD }
enum  fsf_renegotiation_status_t { FSF_IN_PROGRESS, FSF_REJECTED, FSF_ADMITTED, FSF_NOT_REQUESTED }
enum  fsf_granularity_t { FSF_CONTINUOUS, FSF_DISCRETE }
enum  fsf_sched_policy_t {
  FSF_FP, FSF_EDF, FSF_TABLE_DRIVEN, FSF_RR,
  FSF_NONE
}

Define Documentation

#define FSF_DEFAULT_D_EQUALS_T   false
 

#define FSF_DEFAULT_DEADLINE   {0,0}
 

#define FSF_DEFAULT_GRANULARITY   FSF_CONTINUOUS
 

#define FSF_DEFAULT_IMPORTANCE   1
 

#define FSF_DEFAULT_NETWORK_ID   1
 

#define FSF_DEFAULT_QUALITY   0
 

#define FSF_DEFAULT_SCHED_POLICY   FSF_NONE
 

#define FSF_DEFAULT_WORKLOAD   FSF_INDETERMINATE
 

#define FSF_ERR_ALREADY_BOUND   0x02004018
 

#define FSF_ERR_BAD_ARGUMENT   0x02004002
 

#define FSF_ERR_BASE_VALUE   0x02004000
 

#define FSF_ERR_BUFFER_FULL   0x0200401B
 

#define FSF_ERR_CONTRACT_REJECTED   0x02004005
 

#define FSF_ERR_INTERNAL_ERROR   0x0200400F
 

#define FSF_ERR_INVALID_SCHEDULER_REPLY   0x02004011
 

#define FSF_ERR_INVALID_SYNCH_OBJ_HANDLE   0x02004003
 

#define FSF_ERR_LAST_VALUE   0x02004020
 

#define FSF_ERR_NO_MESSAGES   0x0200401D
 

#define FSF_ERR_NO_RENEGOTIATION_REQUESTED   0x02004004
 

#define FSF_ERR_NO_SPACE   0x0200401C
 

#define FSF_ERR_NOT_BOUND   0x02004007
 

#define FSF_ERR_NOT_CONTRACTED_SERVER   0x02004009
 

#define FSF_ERR_NOT_SCHEDULED_CALLING_THREAD   0x02004006
 

#define FSF_ERR_NOT_SCHEDULED_THREAD   0x0200400A
 

#define FSF_ERR_SCHED_POLICY_NOT_COMPATIBLE   0x02004016
 

#define FSF_ERR_SERVER_WORKLOAD_NOT_COMPATIBLE   0x02004017
 

#define FSF_ERR_SHARED_OBJ_ALREADY_INITIALIZED   0x02004014
 

#define FSF_ERR_SHARED_OBJ_NOT_INITIALIZED   0x02004015
 

#define FSF_ERR_SYSTEM_ALREADY_INITIALIZED   0x02004013
 

#define FSF_ERR_SYSTEM_NOT_INITIALIZED   0x0200401F
 

#define FSF_ERR_TOO_LARGE   0x0200401A
 

#define FSF_ERR_TOO_MANY_EVENTS_IN_SYNCH_OBJ   0x0200400E
 

#define FSF_ERR_TOO_MANY_PENDING_REPLENISHMENTS   0x02004012
 

#define FSF_ERR_TOO_MANY_SERVERS   0x02004010
 

#define FSF_ERR_TOO_MANY_SERVERS_IN_SYNCH_OBJ   0x0200400D
 

#define FSF_ERR_TOO_MANY_SERVICE_JOBS   0x0200400B
 

#define FSF_ERR_TOO_MANY_SHARED_OBJS   0x02004020
 

#define FSF_ERR_TOO_MANY_SYNCH_OBJS   0x0200400C
 

#define FSF_ERR_TOO_MANY_TASKS   0x02004001
 

#define FSF_ERR_UNKNOWN_SCHEDULED_THREAD   0x02004008
 

#define FSF_ERR_WRONG_NETWORK   0x02004019
 

#define FSF_MAX_IMPORTANCE   FSF_N_IMPORTANCE_LEVELS
 

#define FSF_MAX_QUALITY   (2**32 -1)
 

#define FSF_MIN_IMPORTANCE   1
 

#define FSF_MIN_QUALITY   0
 

#define FSF_NULL_DEADLINE   (struct timespec *)NULL
 

#define FSF_NULL_NETWORK_ID   0
 

#define FSF_NULL_SIGNAL   0
 

#define FSF_NULL_UTILIZATION_SET   (fsf_utilization_set_t *)NULL
 

#define FSF_WRN_MODULE_NOT_SUPPORTED   0x0200401E
 


Typedef Documentation

typedef FSF_CONTRACT_PARAMETERS_T_OPAQUE fsf_contract_parameters_t
 

Contract parameters type; it is an opaque type (i.e. the internal structure of this data type is implementation dependent). The user can access and modify the parameters of a contract only with the proper functions, and should never access the data directly.

typedef unsigned int fsf_network_id_t
 

typedef unsigned long fsf_preemption_level_t
 

typedef FSF_RECEIVE_ENDPOINT_T_OPAQUE fsf_receive_endpoint_t
 

typedef void* fsf_sched_init_info_t
 

typedef FSF_SEND_ENDPOINT_T_OPAQUE fsf_send_endpoint_t
 

typedef int fsf_server_id_t
 

Server Id type, that identifies a server created to manage a given contract

typedef FSF_SHARED_OBJ_HANDLE_T_OPAQUE fsf_shared_obj_handle_t
 

typedef char* fsf_shared_obj_id_t
 

typedef FSF_SYNCH_OBJ_HANDLE_T_OPAQUE fsf_synch_obj_handle_t
 

Synchronization object handle type, this an opaque type used to signaling of servers

typedef struct fsf_target_window fsf_target_window
 

typedef void*(* fsf_thread_code_t)(void *)
 

The type references a function that may become a thread's code


Enumeration Type Documentation

enum fsf_granularity_t
 

Enumeration values:
FSF_CONTINUOUS 
FSF_DISCRETE 

enum fsf_renegotiation_status_t
 

Possible values returned by fsf_get_renegotiation_status

Enumeration values:
FSF_IN_PROGRESS 
FSF_REJECTED 
FSF_ADMITTED 
FSF_NOT_REQUESTED 

enum fsf_sched_policy_t
 

Enumeration values:
FSF_FP 
FSF_EDF 
FSF_TABLE_DRIVEN 
FSF_RR 
FSF_NONE 

enum fsf_workload_t
 

Enumeration values:
FSF_BOUNDED 
FSF_INDETERMINATE 
FSF_OVERHEAD 


Generated on Tue Apr 5 17:01:24 2005 for FSF by doxygen 1.3.4