---------------------------------------- ---------------------------------------- -- -- -- OCARINA COMPONENTS -- -- -- -- O C A R I N A . G E N E R A T O R S . P O _ H I _ C . R U N T I M E -- -- -- -- S p e c -- -- -- -- Copyright (C) 2007, GET-Telecom Paris. -- -- -- -- Ocarina is free software; you can redistribute it and/or modify -- -- it under terms of the GNU General Public License as published by the -- -- Free Software Foundation; either version 2, or (at your option) any -- -- later version. Ocarina is distributed in the hope that it will be -- -- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -- -- Public License for more details. You should have received a copy of the -- -- GNU General Public License distributed with Ocarina; see file COPYING. -- -- If not, write to the Free Software Foundation, 51 Franklin Street, Fifth -- -- Floor, Boston, MA 02111-1301, USA. -- -- -- -- As a special exception, if other files instantiate generics from this -- -- unit, or you link this unit with other files to produce an executable, -- -- this unit 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 Public License. -- -- -- -- Ocarina is maintained by the Ocarina team -- -- (ocarina-users@listes.enst.fr) -- -- -- ------------------------------------------------------------------------------ package Ocarina.Generators.PO_HI_C.Runtime is -- Headers file that can be included type rh_id is (rh_null, -- Workaround to denote a null RH rh_po_hi_task, -- po_hi_task header rh_po_hi_time, -- po_hi_time header rh_po_hi_common, -- po_hi_common header rh_po_hi_main, -- po_hi_main header rh_po_hi_messages, -- po_hi_messages header rh_po_hi_protected, -- po_hi_protected header rh_po_hi_marshallers, -- po_hi_marshallers header rh_po_hi_transport, -- po_hi_marshallers header rh_po_hi_types, -- po_hi_types header rh_po_hi_gqueue, -- po_hi_gqueue header rh_po_hi_protocols, -- po_hi_protocols header rh_activity, -- the activity header rh_request, -- the request header rh_types, -- the types header rh_marshallers, -- the marshallers header rh_subprograms, -- the subprograms rh_deployment); -- Runtime Entities type re_id is (re_null, -- Workaround to denote a null RE re_microseconds, -- __po_hi_microseconds re_milliseconds, -- __po_hi_milliseconds re_seconds, -- __po_hi_seconds re_minutes, -- __po_hi_minutes re_create_periodic_task, -- __po_hi_create_periodic_task re_create_sporadic_task, -- __po_hi_create_sporadic_task re_wait_for_next_period, -- __po_hi_task_wait_for_next_period re_initialize, -- __po_hi_initialize re_wait_initialization, -- __po_hi_wait_initialization re_marshall_float, -- __po_hi_marshall_float re_unmarshall_float, -- __po_hi_unmarshall_float re_marshall_request, -- __po_hi_marshall_request re_unmarshall_request, -- __po_hi_unmarshall_request re_marshall_int, -- __po_hi_marshall_int re_unmarshall_int, -- __po_hi_unmarshall_int re_marshall_int8, -- __po_hi_marshall_int8 re_unmarshall_int8, -- __po_hi_unmarshall_int8 re_marshall_int16, -- __po_hi_marshall_int16 re_unmarshall_int16, -- __po_hi_unmarshall_int16 re_marshall_int32, -- __po_hi_marshall_int32 re_unmarshall_int32, -- __po_hi_unmarshall_int32 re_marshall_int64, -- __po_hi_marshall_int64 re_unmarshall_int64, -- __po_hi_unmarshall_int64 re_marshall_port, -- __po_hi_marshall_port re_unmarshall_port, -- __po_hi_unmarshall_port re_gqueue_init, -- __po_hi_gqueue_init re_gqueue_store_in, -- __po_hi_gqueue_store_in re_gqueue_store_out, -- __po_hi_gqueue_store_out re_gqueue_get_count, -- __po_hi_gqueue_get_count re_gqueue_send_output, -- __po_hi_gqueue_send_output re_gqueue_get_value, -- __po_hi_gqueue_get_value re_gqueue_next_value, -- __po_hi_gqueue_next_value re_gqueue_wait_for_incoming_event, -- __po_hi_gqueue_wait_for_incoming re_compute_next_period, -- __po_hi_compute_next_period re_sporadic_wait, -- __po_hi_sporadic_wait re_sporadic_wait_release, -- __po_hi_sporadic_wait_release re_protocols_send, -- __po_hi_protocols_send re_main_deliver, -- __po_hi_main_deliver re_protocols_receive, -- __po_hi_protocols_receive re_protocols_nonblocking_receive, -- __po_hi_protocols_receive re_msg_reallocate, -- __po_hi_msg_reallocate re_protected_lock, -- __po_hi_protected_lock re_protected_unlock, -- __po_hi_protected_unlock re_wait_for_tasks, -- __po_hi_wait_for_tasks re_default_priority, -- __PO_HI_DEFAULT_PRIORITY re_main_type, -- __PO_HI_MAIN_TYPE re_main_args, -- __PO_HI_MAIN_ARGS re_main_name, -- __PO_HI_MAIN_NAME re_main_return, -- __PO_HI_MAIN_RETURN re_nb_servers, -- __PO_HI_NB_SERVERS re_nb_ports, -- __PO_HI_NB_PORTS re_noport, -- __PO_HI_NOPORT re_noaddr, -- __PO_HI_NB_NOADDR re_nb_protected, -- __PO_HI_NB_PROTECTED re_nb_nodes, -- __PO_HI_NB_NODES re_gqueue_fifo_indata, -- __PO_HI_GQUEUE_FIFO_DATA re_gqueue_fifo_out, -- __PO_HI_GQUEUE_FIFO_OUT re_nb_operations, -- __PO_HI_NB_OPERATIONS re_nb_entities, -- __PO_HI_NB_ENTITIES re_nb_tasks, -- __PO_HI_NB_TASKS re_task_id, -- __po_hi_task_id re_entity_t, -- __po_hi_entity_t re_inetport_t, -- __po_hi_inetport_t re_inetaddr_t, -- __po_hi_inetaddr_t re_protected_t, -- __po_hi_protected_t re_entity_server_t, -- __po_hi_entity_server_t re_operation_t, -- __po_hi_operation_t re_request_t, -- __po_hi_request_t re_uint8_t, -- __po_hi_uint8_t re_int8_t, -- __po_hi_int8_t re_uint16_t, -- __po_hi_uint16_t re_int16_t, -- __po_hi_int16_t re_int32_t, -- __po_hi_int32_t re_int64_t, -- __po_hi_int64_t re_msg_t, -- __po_hi_msg_t re_port_t, -- __po_hi_port_t re_node_t, -- __po_hi_node_t re_operation_names, -- __po_hi_operation_names re_ports_names, -- __po_hi_port_names re_port_global_to_entity, -- __po_hi_port_global_to_entity re_port_global_to_local -- __po_hi_port_global_to_local ); -- Runtime types subtype rt_id is re_id range re_task_id .. re_node_t; subtype rc_id is re_id range re_default_priority .. re_nb_tasks; subtype rf_id is re_id range re_null .. re_wait_for_tasks; subtype rv_id is re_id range re_operation_names .. re_port_global_to_local; RE_Header_Table : constant array (re_id) of rh_id := (re_null => rh_null, -- Runtime functions associations re_microseconds => rh_po_hi_time, re_milliseconds => rh_po_hi_time, re_seconds => rh_po_hi_time, re_minutes => rh_po_hi_time, re_protocols_send => rh_po_hi_protocols, re_protocols_receive => rh_po_hi_protocols, re_protocols_nonblocking_receive => rh_po_hi_protocols, re_msg_reallocate => rh_po_hi_messages, re_marshall_int => rh_po_hi_marshallers, re_unmarshall_int => rh_po_hi_marshallers, re_marshall_int8 => rh_po_hi_marshallers, re_unmarshall_int8 => rh_po_hi_marshallers, re_marshall_int16 => rh_po_hi_marshallers, re_unmarshall_int16 => rh_po_hi_marshallers, re_marshall_int32 => rh_po_hi_marshallers, re_unmarshall_int32 => rh_po_hi_marshallers, re_marshall_int64 => rh_po_hi_marshallers, re_unmarshall_int64 => rh_po_hi_marshallers, re_marshall_float => rh_po_hi_marshallers, re_unmarshall_float => rh_po_hi_marshallers, re_marshall_port => rh_po_hi_marshallers, re_unmarshall_port => rh_po_hi_marshallers, re_marshall_request => rh_marshallers, re_unmarshall_request => rh_marshallers, re_create_periodic_task => rh_po_hi_task, re_main_deliver => rh_activity, re_create_sporadic_task => rh_po_hi_task, re_wait_for_next_period => rh_po_hi_task, re_compute_next_period => rh_po_hi_task, re_initialize => rh_po_hi_main, re_wait_initialization => rh_po_hi_main, re_protected_lock => rh_po_hi_protected, re_protected_unlock => rh_po_hi_protected, re_gqueue_store_in => rh_po_hi_gqueue, re_gqueue_store_out => rh_po_hi_gqueue, re_gqueue_send_output => rh_po_hi_gqueue, re_gqueue_init => rh_po_hi_gqueue, re_gqueue_get_count => rh_po_hi_gqueue, re_gqueue_get_value => rh_po_hi_gqueue, re_gqueue_next_value => rh_po_hi_gqueue, re_gqueue_wait_for_incoming_event => rh_po_hi_gqueue, re_sporadic_wait => rh_po_hi_task, re_sporadic_wait_release => rh_po_hi_task, re_wait_for_tasks => rh_po_hi_task, -- Runtime types associations re_msg_t => rh_po_hi_messages, re_task_id => rh_deployment, re_entity_t => rh_deployment, re_port_t => rh_deployment, re_entity_server_t => rh_deployment, re_protected_t => rh_po_hi_protected, re_inetport_t => rh_po_hi_protocols, re_inetaddr_t => rh_po_hi_protocols, re_uint8_t => rh_po_hi_types, re_int8_t => rh_po_hi_types, re_uint16_t => rh_po_hi_types, re_int16_t => rh_po_hi_types, re_int32_t => rh_po_hi_types, re_int64_t => rh_po_hi_types, re_node_t => rh_deployment, re_operation_t => rh_request, re_request_t => rh_request, -- Runtime Constants associations re_default_priority => rh_po_hi_task, re_main_type => rh_po_hi_common, re_main_args => rh_po_hi_common, re_main_name => rh_po_hi_common, re_main_return => rh_po_hi_common, re_nb_nodes => rh_deployment, re_nb_ports => rh_deployment, re_nb_servers => rh_deployment, re_nb_protected => rh_po_hi_protected, re_nb_entities => rh_deployment, re_gqueue_fifo_indata => rh_po_hi_gqueue, re_gqueue_fifo_out => rh_po_hi_gqueue, re_nb_operations => rh_request, re_noaddr => rh_po_hi_protocols, re_noport => rh_po_hi_protocols, re_nb_tasks => rh_deployment, -- Variables associations re_ports_names => rh_po_hi_types, re_operation_names => rh_po_hi_types, re_port_global_to_entity => rh_deployment, re_port_global_to_local => rh_deployment); procedure Initialize; procedure Reset; function RE (Id : re_id) return node_id; -- Return a designator for entity Id function RH (Id : rh_id) return node_id; -- Return a node for entity RH_Id end Ocarina.Generators.PO_HI_C.Runtime;