Files
rtems/cpukit/sapi/src/itronapi.c
Joel Sherrill 3507c6df70 2009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* libcsupport/src/gxx_wrappers.c, posix/include/mqueue.h,
	posix/include/rtems/posix/semaphore.h,
	posix/inline/rtems/posix/barrier.inl,
	posix/inline/rtems/posix/key.inl,
	posix/inline/rtems/posix/mqueue.inl,
	posix/inline/rtems/posix/rwlock.inl,
	posix/inline/rtems/posix/semaphore.inl,
	posix/inline/rtems/posix/spinlock.inl,
	posix/inline/rtems/posix/timer.inl, posix/src/condget.c,
	posix/src/mqueuenametoid.c, posix/src/mutexget.c,
	posix/src/semaphorenametoid.c, posix/src/semopen.c,
	sapi/src/itronapi.c, sapi/src/posixapi.c: Make changes necessary for
	all tests to run on SPARC with 16-bit Ids. This required ensuring
	that all POSIX and compilering binding code makes a distinction
	between the public Id type (e.g. pthread_t, etc.) and the RTEMS
	Object_Id type. All POSIX Object Get routines should not take the
	POSIX Id type as the argument. Sixteen bit RTEMS Ids should be placed
	into the 32-bits reserved by the POSIX API type in a uniform manner
	now. This removed all assumptions that the external Id types in POSIX
	and ITRON are the same as the internal Object Id type.
2009-01-05 20:26:01 +00:00

84 lines
1.9 KiB
C

/*
* ITRON API Initialization Support
*
* NOTE:
*
* COPYRIGHT (c) 1989-2008.
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <assert.h>
/*
* ITRON_API_INIT is defined so all of the ITRON API
* data will be included in this object file.
*/
#define ITRON_API_INIT
#include <rtems/system.h> /* include this before checking RTEMS_ITRON_API */
#ifdef RTEMS_ITRON_API
#include <rtems/itron.h>
#include <sys/types.h>
#include <rtems/config.h>
#include <rtems/score/object.h>
#include <rtems/itron/eventflags.h>
#include <rtems/itron/fmempool.h>
#include <rtems/itron/itronapi.h>
#include <rtems/itron/mbox.h>
#include <rtems/itron/msgbuffer.h>
#include <rtems/itron/port.h>
#include <rtems/itron/semaphore.h>
#include <rtems/itron/task.h>
#include <rtems/itron/vmempool.h>
/*PAGE
*
* _ITRON_API_Initialize
*
* XXX
*/
Objects_Information *_ITRON_Objects[ OBJECTS_ITRON_CLASSES_LAST + 1 ];
void _ITRON_API_Initialize(void)
{
/*
* If there are any type size assumptions in the ITRON API, this is
* the appropriate place to place them.
*
* Currently, there are no none type size assumptions.
*/
/*
* Install our API Object Management Table and initialize the
* various managers.
*/
_Objects_Information_table[OBJECTS_ITRON_API] = _ITRON_Objects;
_ITRON_Task_Manager_initialization();
_ITRON_Semaphore_Manager_initialization();
_ITRON_Eventflags_Manager_initialization();
_ITRON_Fixed_memory_pool_Manager_initialization();
_ITRON_Mailbox_Manager_initialization();
_ITRON_Message_buffer_Manager_initialization();
_ITRON_Port_Manager_initialization();
_ITRON_Variable_memory_pool_Manager_initialization();
}
#endif
/* end of file */