frescan_prio_t prio;
} frescan_contract_t;
+/**
+ * frescan_sa_xxx scheduling analysis types
+ */
+
+typedef struct {
+ frescan_prio_t server_prio;
+} frescan_sa_final_values_t;
+
+typedef struct {
+ frescan_contract_t contract;
+ frescan_node_t node;
+ frescan_ss_t ss;
+ frescan_sa_final_values_t final_values;
+ struct list_head list;
+} frescan_sa_contract_t;
+
+typedef struct {
+ frescan_prio_t max_prio;
+ frescan_prio_t min_prio;
+} frescan_sa_init_params_t;
+
+typedef struct {
+ frescan_sa_contract_t contracts[FRESCAN_MX_NODES][FRESCAN_MX_IDS];
+ frescan_sa_contract_t contracts_head;
+ frescan_sa_init_params_t init_params;
+} frescan_sa_scenario_t;
+
/**
* frescan_prio_queue_t - priority queue
*
* @id_fp_queues: the same as id_queues but for fp messages, which have
* id=FRESCAN_MX_IDS and are distinguised through their
* priorities.
+ * @scenario: the scheduling analysis scenario for the network
*
* the implementation can handle several FRESCAN networks at the same time
* in the same node, so we need a place to store its internal data. The data
frescan_prio_t last_packet_prio;
frescan_packet_t *id_queues[FRESCAN_MX_IDS]; // TODO: alloc at init
frescan_packet_t *id_fp_queues[FRESCAN_MX_PRIOS]; // TODO: alloc at init
+ frescan_sa_scenario_t scenario;
} frescan_network_data_t;
extern frescan_network_data_t the_networks[FRESCAN_MX_NETWORKS];
extern int frescan_data_init(int fd, frescan_init_params_t *params);
-
-
#endif // _MARTE_FRESCAN_DATA_H_