/* * ITRON API Initialization Support * * NOTE: * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.OARcorp.com/rtems/license.html. * * $Id$ */ #include /* * ITRON_API_INIT is defined so all of the ITRON API * data will be included in this object file. */ #define ITRON_API_INIT #include /* include this before checking RTEMS_ITRON_API */ #ifdef RTEMS_ITRON_API #include #include #include #include #include #include #include #include #include #include #include #include /*PAGE * * _ITRON_API_Initialize * * XXX */ itron_api_configuration_table _ITRON_Default_configuration = { 0, /* maximum_tasks */ 0, /* maximum_semaphores */ 0, /* maximum_eventflags */ 0, /* maximum_mailboxes */ 0, /* maximum_message_buffers */ 0, /* maximum_ports */ 0, /* maximum_memory_pools */ 0, /* maximum_fixed_memory_pools */ 0, /* number_of_initialization_tasks */ NULL /* User_initialization_tasks_table */ }; void _ITRON_API_Initialize( rtems_configuration_table *configuration_table ) { itron_api_configuration_table *api_configuration; /* XXX need to assert here based on size assumptions */ assert( sizeof(ID) == sizeof(Objects_Id) ); api_configuration = configuration_table->ITRON_api_configuration; if ( !api_configuration ) api_configuration = &_ITRON_Default_configuration; _ITRON_Task_Manager_initialization( api_configuration->maximum_tasks, api_configuration->number_of_initialization_tasks, api_configuration->User_initialization_tasks_table ); _ITRON_Semaphore_Manager_initialization( api_configuration->maximum_semaphores ); _ITRON_Eventflags_Manager_initialization( api_configuration->maximum_eventflags ); _ITRON_Fixed_memory_pool_Manager_initialization( api_configuration->maximum_fixed_memory_pools ); _ITRON_Mailbox_Manager_initialization( api_configuration->maximum_mailboxes ); _ITRON_Message_buffer_Manager_initialization( api_configuration->maximum_message_buffers ); _ITRON_Port_Manager_initialization( api_configuration->maximum_ports ); _ITRON_Variable_memory_pool_Manager_initialization( api_configuration->maximum_memory_pools ); } #endif /* end of file */