Remove, moved to cpukit.

This commit is contained in:
Ralf Corsepius
2002-07-22 09:46:48 +00:00
parent b7b3e5e939
commit 2b3e9d9b24
1684 changed files with 0 additions and 265553 deletions

View File

@@ -1,15 +0,0 @@
Makefile
Makefile.in
aclocal.m4
autom4te.cache
config.cache
config.guess
config.log
config.status
config.sub
configure
depcomp
install-sh
missing
mkinstalldirs
stamp-h.in

View File

@@ -1,295 +0,0 @@
2002-07-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* automake/multilib.am: Add install-multi.
* aclocal/rtems-top.m4: Reflect new RTEMS_TOPdir to detecting
version.m4.
Add --with-project-root.
Reflect --with-project-root to setting up PROJECT_ROOT.
* aclocal/env-rtemscpu.m4: Reflect new RTEMS_TOPdir (HACK).
* aclocal/check-cpu.m4: Reflect new RTEMS_TOPdir.
* aclocal/check-bsps.m4: Reflect new RTEMS_TOPdir.
2002-07-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: RTEMS_TOP(..).
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/Makefile.am: Install by using cpulibdir, cpulib_DATA.
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/check-bsp-cache.m4: Remove RTEMS_BSP_FAMILY.
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_PROJECT_ROOT.
* aclocal/project-root.m4: Remove.
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/enable-multiprocessing.m4: Fix typo.
* aclocal/prog-cc.m4: Remove obsolete comments.
Comment out GCCSED.
2002-06-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/prog-ccas.m4: New.
* aclocal/canonicalize-tools.m4: Remove AS, OBJCOPY, NM, SIZE, STRIP.
RTEMS_GCC_PRINT
* aclocal/check-multiprocessing.m4: Fix typo.
* automake/compile.am: Remove CXX support.
Replace AS by CCAS. Remove LINK_LIBS, LINK_OBJS, LINK_FILES.
2002-06-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use AC_CONFIG_AUX_DIR(..).
2002-06-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove references to RTEMS_BSP.
* aclocal/check-multiprocessing.m4: Remove references to RTEMS_BSP.
Allow building w/ --enable-multiprocessing --enable-multilib.
* aclocal/enable-multiprocessing.m4:
Eliminate RTEMS_HAS_MULTIPROCESSING.
2002-06-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/Makefile.am: Fix stupid typo in previous patch.
2002-06-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add librpc. AC_PROG_RANLIB.
* wrapup/Makefile.am: Add librpc.
Use relative path to lib*.a for
POSIX_OBJS, ITRON_OBJS, NETWORKING_OBJS.
2002-06-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/subdirs.m4: Remove.
2002-06-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/Makefile.am: Use relative path to lib*.a for
LIBCSUPPORT_OBJS, LIBBLOCK_OBJS, LIBDOSFS_OBJS, LIBIMFS_OBJS.
2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Include $(top_srcdir)/automake/*.am.
Use aclocal.
* sapi/include/Makefile.am: Include $(top_srcdir)/automake/*.am.
* sapi/Makefile.am: Include $(top_srcdir)/automake/*.am.
* sapi/inline/Makefile.am: Include $(top_srcdir)/automake/*.am.
* sapi/macros/Makefile.am: Include $(top_srcdir)/automake/*.am.
* sapi/src/Makefile.am: Include $(top_srcdir)/automake/*.am.
* score/include/Makefile.am: Include $(top_srcdir)/automake/*.am.
* score/Makefile.am: Include $(top_srcdir)/automake/*.am.
* score/cpu/Makefile.am: Include $(top_srcdir)/automake/*.am.
* score/inline/Makefile.am: Include $(top_srcdir)/automake/*.am.
* score/macros/Makefile.am: Include $(top_srcdir)/automake/*.am.
* score/src/Makefile.am: Include $(top_srcdir)/automake/*.am.
* wrapup/Makefile.am: Include $(top_srcdir)/automake/*.am.
* include/Makefile.am: Include $(top_srcdir)/automake/*.am.
* rtems/include/Makefile.am: Include $(top_srcdir)/automake/*.am.
* rtems/Makefile.am: Include $(top_srcdir)/automake/*.am.
* rtems/inline/Makefile.am: Include $(top_srcdir)/automake/*.am.
* rtems/macros/Makefile.am: Include $(top_srcdir)/automake/*.am.
* rtems/src/Makefile.am: Include $(top_srcdir)/automake/*.am.
2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/bsp-alias.m4: Copied over from aclocal/.
* aclocal/canonical-host.m4: Ditto.
* aclocal/canonical-target-name.m4: Ditto.
* aclocal/canonicalize-tools.m4: Ditto.
* aclocal/check-bsp-cache.m4: Ditto.
* aclocal/check-bsps.m4: Ditto.
* aclocal/check-cpu.m4: Ditto.
* aclocal/check-itron.m4: Ditto.
* aclocal/check-multiprocessing.m4: Ditto.
* aclocal/check-networking.m4: Ditto.
* aclocal/check-newlib.m4: Ditto.
* aclocal/check-posix.m4: Ditto.
* aclocal/check-tool.m4: Ditto.
* aclocal/enable-bare.m4: Ditto.
* aclocal/enable-inlines.m4: Ditto.
* aclocal/enable-itron.m4: Ditto.
* aclocal/enable-multiprocessing.m4: Ditto.
* aclocal/enable-networking.m4: Ditto.
* aclocal/enable-posix.m4: Ditto.
* aclocal/enable-rtemsbsp.m4: Ditto.
* aclocal/env-rtemsbsp.m4: Ditto.
* aclocal/env-rtemscpu.m4: Ditto.
* aclocal/gcc-pipe.m4: Ditto.
* aclocal/gcc-specs.m4: Ditto.
* aclocal/multi.m4: Ditto.
* aclocal/multilib.m4: Ditto.
* aclocal/prog-cc.m4: Ditto.
* aclocal/project-root.m4: Ditto.
* aclocal/rtems-cpu-subdirs.m4: Ditto.
* aclocal/rtems-debug.m4: Ditto.
* aclocal/rtems-top.m4: Ditto.
* aclocal/subdirs.m4: Ditto.
* aclocal/sysv-ipc.m4: Ditto.
* aclocal/tool-paths.m4: Ditto.
* aclocal/version.m4: Ditto.
2002-06-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* automake/compile.am: Copied over from automake/.
* automake/lib.am: Copied over from automake/.
* automake/local.am: Copied over from automake/.
* automake/multilib.am: Copied over from automake/.
* automake/subdirs.am: Copied over from automake/.
* Makefile.am: Add automake/*.am.
2002-05-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add libnetworking.
* wrapup/Makefile.am: Ditto.
2002-05-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add libblock. Add libfs. Add AM_CONDITIONAL(UNIX).
* wrapup/Makefile.am: Add libblock, libfs/dosfs, libfs/imfs.
2002-05-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Add libcsupport.
* wrapup/Makefile.am: Ditto.
2002-05-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Add preinstall-stamp.
2002-04-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove ENABLE_GCC28.
2002-04-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/bspIo.h: Fix cpp-guards, remove references to i386.
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac:
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
* Makefile.am: Remove AUTOMAKE_OPTIONS.
* wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS.
2001-01-17 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: Deleted duplicate blank line.
2002-01-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Apply @subdirs. Remove POSIX_SUBDIRS. Remove
ITRON_SUBDIRS.
* configure.ac: Rework enable_unixlib handling.
Add RTEMS_MULTILIBS to cpuopts.h.
* include/Makefile.am: Add rtems/fs.h, rtems/userenv.h.
Add $(PROJECT_INCLUDE)/rtems. Remove libio_.h.
2002-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/Makefile.am: Add install-hook.
Remove SIZE_RTEMS.
* include/rtems/fs.h: New, extracted from libio_.h.
* include/rtems/userenv.h: New. extracted from libio_.h.
2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Readded reference to wrapup.
2002-01-06 Joel Sherrill <joel@OARcorp.com>
* wrapup/.cvsignore: Readded.
* include/.cvsignore: New file.
2002-01-04 Joel Sherrill <joel@OARcorp.com>
* Makefile.am, configure.ac: Remove references to wrapup subdirectory.
2001-12-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use AS_IF instead of if/then/else.
Add AC_DEFINE_UNQUOTED(RTEMS_UNIX) for RTEMS_CPU==unix.
Add AC_DEFINE_UNQUOTED(RTEMS_UNIXLIB) for RTEMS_CPU==unix.
Add include/Makefile to CONFIG_FILES.
Add AC_ENABLE_MULITLIB.
Remove wrapup/rtems, wrapup/itron, wrapup/posix.
Remove */optman/Makefile from CONFIG_FILES.
* Makefile.am: Add include to SUBDIRS.
* rtems/Makefile.am: Remove optman from SUBDIRS.
* sapi/Makefile.am: Remove optman from SUBDIRS.
* include/Makefile.am: New file.
* include/rtems/bspIo.h: Relocated from lib/include.
* include/rtems/libio_.h: Relocated from lib/include.
2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/posix/Makefile.am: Add multilib support.
* wrapup/itron/Makefile.am: Add multilib support.
* wrapup/rtems/Makefile.am: Add multilib support.
* Makefile.am: Add multilib support.
2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use RTEMS_CPU_SUBDIRS to make autoconf-2.52 happy.
2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use AC_CONFIG_SUBDIRS for posix and itron.
Reflect changes to configuration of rtems, score and sapi subdirs.
* Makefile.am: require automake-1.5.
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
* configure.in: Remove.
* configure.ac: New file, generated from configure.in by autoupdate.
2001-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/rtems/Makefile.am: Fix comments to make automake-1.5 happy.
2001-04-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Add [-ansi -fasm] to RTEMS_PROG_CC_FOR_TARGET.
2001-02-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: AC_DEFINE RTEMS_UNIX if RTEMS_CPU=unix.
2000-12-01 Joel Sherrill <joel@OARcorp.com>
* configure.in: Removed error check for enabling macros with
either POSIX or ITRON API.
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
2000-10-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
2000-09-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/rtems/Makefile.am: Use PROJECT_TOPdir in path to size_rtems.
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* wrapup/itron/Makefile.am, wrapup/posix/Makefile.am,
wrapup/rtems/Makefile.am: Include compile.am
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.

View File

@@ -1,23 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I aclocal
include $(top_srcdir)/automake/multilib.am
SUBDIRS = . include score rtems sapi @subdirs@ wrapup
noinst_DATA = preinstall-stamp
preinstall-stamp:
$(MAKE) $(AM_MAKEFLAGS) preinstall
touch preinstall-stamp
DISTCLEANFILES = preinstall-stamp
AUTOMAKE_FILES = automake/compile.am automake/lib.am automake/local.am \
automake/multilib.am automake/subdirs.am
EXTRA_DIST = $(AUTOMAKE_FILES)
include $(top_srcdir)/automake/subdirs.am
include $(top_srcdir)/automake/local.am

View File

@@ -1,121 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.52)
AC_INIT([rtems-c-src-exec],[_RTEMS_VERSION],[rtems-bugs@OARcorp.com])
AC_CONFIG_SRCDIR([score])
RTEMS_TOP(..)
AC_CONFIG_AUX_DIR(..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.6])
AM_MAINTAINER_MODE
RTEMS_ENABLE_MULTILIB
RTEMS_ENABLE_MULTIPROCESSING
RTEMS_ENABLE_POSIX
RTEMS_ENABLE_ITRON
RTEMS_ENABLE_INLINES
RTEMS_ENABLE_RTEMS_DEBUG
RTEMS_ENABLE_NETWORKING
RTEMS_ENV_RTEMSCPU
RTEMS_CHECK_RTEMS_DEBUG
RTEMS_CHECK_CPU
RTEMS_CANONICAL_HOST
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
AC_PROG_RANLIB
RTEMS_CHECK_NEWLIB
RTEMS_CHECK_MULTIPROCESSING
RTEMS_CHECK_POSIX_API
RTEMS_CHECK_ITRON_API
RTEMS_CHECK_NETWORKING
# If RTEMS macros are enabled, then use them. Otherwise, use inlines.
AS_IF([test "$RTEMS_USE_MACROS" = "yes"],
[INLINEdir="macros"],
[INLINEdir="inline"])
AM_CONDITIONAL(INLINE,test x"$INLINEdir" = x"inline" )
AM_CONDITIONAL(MACROS,test x"$INLINEdir" = x"macros" )
AM_CONDITIONAL(HAS_MP,test x"$HAS_MP" = x"yes" )
AC_SUBST(RTEMS_VERSION)
AM_CONDITIONAL(HAS_POSIX,test x"$HAS_POSIX_API" = x"yes")
AM_CONDITIONAL(HAS_ITRON,test x"$HAS_ITRON_API" = x"yes")
AM_CONDITIONAL(HAS_NETWORKING,test x"$HAS_NETWORKING" = x"yes")
AS_IF([test x"$HAS_POSIX_API" = x"yes"],
[AC_CONFIG_SUBDIRS([posix])]
)
AS_IF([test x"$HAS_ITRON_API" = x"yes"],
[AC_CONFIG_SUBDIRS(itron)]
)
RTEMS_CPU_SUBDIRS([score/cpu])
AC_CONFIG_SUBDIRS([libcsupport])
AC_CONFIG_SUBDIRS([libblock])
AC_CONFIG_SUBDIRS([libfs])
AS_IF([test x"$HAS_NETWORKING" = x"yes"],
[AC_CONFIG_SUBDIRS(libnetworking librpc)])
RTEMS_DEFINE_POSIX_API
RTEMS_DEFINE_ITRON_API
RTEMS_DEFINE_MULTIPROCESSING
# HACK: We should use a feature-based configuration.
AS_IF([test x"${RTEMS_CPU}" = x"unix"],[
AC_DEFINE_UNQUOTED([RTEMS_UNIX],[1],[to indicate RTEMS unix])
# HACK: silently accept --enable-unixlib
test -n "${enable_unixlib}" || enable_unixlib="yes"
])
AM_CONDITIONAL(UNIX,[test x"${RTEMS_CPU}" = x"unix"])
AS_IF([test x"${enable_unixlib}" = x"yes"],
[AC_DEFINE_UNQUOTED([RTEMS_UNIXLIB],[1],
[to indicate RTEMS using RTEMS's unixlib])]
)
AM_CONFIG_HEADER(score/include/rtems/score/cpuopts-tmp.h)
AC_ENABLE_MULTILIB([Makefile],[..])
## HACK: Add a define to cpuopts.h to indicate using multilibs
## Can be applied to produce compiler errors if using
## multilib-incompatible settings somewhere else (eg. bspopts.h).
AS_IF([test x"${enable_multilib}" = x"yes"],[
AC_DEFINE_UNQUOTED([RTEMS_MULTILIBS],[1],[using multilib'ed RTEMS])
])
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
include/Makefile
rtems/Makefile
rtems/src/Makefile
rtems/include/Makefile
rtems/inline/Makefile
rtems/macros/Makefile
sapi/Makefile
sapi/src/Makefile
sapi/include/Makefile
sapi/include/rtems/sptables.h
sapi/inline/Makefile
sapi/macros/Makefile
score/Makefile
score/cpu/Makefile
score/include/Makefile
score/inline/Makefile
score/macros/Makefile
score/src/Makefile
wrapup/Makefile
])
AC_OUTPUT

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,26 +0,0 @@
##
## $Id$
##
$(PROJECT_INCLUDE)/%.h: %.h
$(INSTALL_DATA) $< $@
$(PROJECT_INCLUDE):
@$(mkinstalldirs) $@
$(PROJECT_INCLUDE)/rtems:
@$(mkinstalldirs) $@
PREINSTALL_FILES = $(PROJECT_INCLUDE) \
$(include_HEADERS:%=$(PROJECT_INCLUDE)/%)
include_rtemsdir = $(includedir)/rtems
include_rtems_HEADERS = rtems/bspIo.h rtems/userenv.h rtems/fs.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems \
$(include_rtems_HEADERS:%=$(PROJECT_INCLUDE)/%)
all-local: $(PREINSTALL_FILES)
include $(top_srcdir)/automake/local.am

View File

@@ -1,37 +0,0 @@
/* bspIo.h
*
* This include file contains declaration of interface that
* will be provided by the file contained in this directory.
*
* COPYRIGHT (c) 1998 valette@crf.canon.fr
*
* The license and distribution terms for this file may be
* found in found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#ifndef _rtems_bspIo_h
#define _rtems_bspIo_h
/*
* All the functions declared as extern after this comment
* MUST be implemented in each BSP. Using this function,
* this directory contains shared code that export higher level
* functionnality described after the next command.
*/
typedef void (*BSP_output_char_function_type) (char c);
typedef char (*BSP_polling_getchar_function_type) (void);
extern BSP_output_char_function_type BSP_output_char;
extern BSP_polling_getchar_function_type BSP_poll_char;
/*
* All the function declared as extern after this comment
* are available for each BSP by compiling and linking
* the files contained in this directory PROVIDED definition
* and initialisation of the previous variable are done.
*/
extern void printk(char *fmt, ...);
#endif

View File

@@ -1,59 +0,0 @@
/*
* Some basic filesystem types
*
* 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$
*/
#ifndef __rtems_fstypes_h
#define __rtems_fstypes_h
#ifdef __cplusplus
extern "C" {
#endif
/*
* File descriptor Table Information
*/
/* Forward declarations */
/* FIXME: shouldn't this better not be here? */
typedef struct rtems_libio_tt rtems_libio_t;
typedef struct rtems_filesystem_location_info_tt
rtems_filesystem_location_info_t;
struct rtems_filesystem_mount_table_entry_tt;
typedef struct rtems_filesystem_mount_table_entry_tt
rtems_filesystem_mount_table_entry_t;
typedef struct _rtems_filesystem_file_handlers_r
rtems_filesystem_file_handlers_r;
typedef struct _rtems_filesystem_operations_table
rtems_filesystem_operations_table;
/*
* Structure used to determine a location/filesystem in the tree.
*/
struct rtems_filesystem_location_info_tt
{
void *node_access;
rtems_filesystem_file_handlers_r *handlers;
rtems_filesystem_operations_table *ops;
rtems_filesystem_mount_table_entry_t *mt_entry;
};
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,310 +0,0 @@
/*
* Libio Internal Information
*
* 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$
*/
#ifndef __RTEMS_LIBIO_INTERNAL__h
#define __RTEMS_LIBIO_INTERNAL__h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems.h>
#include <rtems/libio.h> /* include before standard IO */
#include <rtems/assoc.h> /* assoc.h not included by rtems.h */
#include <sys/types.h>
#include <stdio.h> /* O_RDONLY, et.al. */
#include <fcntl.h> /* O_RDONLY, et.al. */
#include <assert.h>
#include <stdarg.h>
#include <limits.h>
#include <errno.h>
#if ! defined(O_NDELAY)
# if defined(solaris2)
# define O_NDELAY O_NONBLOCK
# elif defined(RTEMS_NEWLIB)
# define O_NDELAY _FNBIO
# endif
#endif
#if !defined(ENOTSUP)
#define ENOTSUP EOPNOTSUPP
#endif
#include <errno.h>
#include <string.h> /* strcmp */
#include <unistd.h>
#include <stdlib.h> /* calloc() */
/*
* Semaphore to protect the io table
*/
#define RTEMS_LIBIO_SEM rtems_build_name('L', 'B', 'I', 'O')
#define RTEMS_LIBIO_IOP_SEM(n) rtems_build_name('L', 'B', 'I', n)
extern rtems_id rtems_libio_semaphore;
extern rtems_filesystem_file_handlers_r rtems_filesystem_null_handlers;
/*
* File descriptor Table Information
*/
extern unsigned32 rtems_libio_number_iops;
extern rtems_libio_t *rtems_libio_iops;
extern rtems_libio_t *rtems_libio_last_iop;
extern rtems_libio_t *rtems_libio_iop_freelist;
/*
* set_errno_and_return_minus_one
*
* Macro to ease common way to return an error.
*/
#ifndef set_errno_and_return_minus_one
#define set_errno_and_return_minus_one( _error ) \
do { errno = (_error); return -1; } while(0)
#endif
/*
* rtems_libio_iop
*
* Macro to return the file descriptor pointer.
*/
#define rtems_libio_iop(_fd) \
((((unsigned32)(_fd)) < rtems_libio_number_iops) ? \
&rtems_libio_iops[_fd] : 0)
/*
* rtems_libio_check_is_open
*
* Macro to check if a file descriptor is actually open.
*/
#define rtems_libio_check_is_open(_iop) \
do { \
if (((_iop)->flags & LIBIO_FLAGS_OPEN) == 0) { \
errno = EBADF; \
return -1; \
} \
} while (0)
/*
* rtems_libio_check_fd
*
* Macro to check if a file descriptor number is valid.
*/
#define rtems_libio_check_fd(_fd) \
do { \
if ((unsigned32) (_fd) >= rtems_libio_number_iops) { \
errno = EBADF; \
return -1; \
} \
} while (0)
/*
* rtems_libio_check_buffer
*
* Macro to check if a buffer pointer is valid.
*/
#define rtems_libio_check_buffer(_buffer) \
do { \
if ((_buffer) == 0) { \
errno = EINVAL; \
return -1; \
} \
} while (0)
/*
* rtems_libio_check_count
*
* Macro to check if a count or length is valid.
*/
#define rtems_libio_check_count(_count) \
do { \
if ((_count) == 0) { \
return 0; \
} \
} while (0)
/*
* rtems_libio_check_permissions
*
* Macro to check if a file descriptor is open for this operation.
*/
#define rtems_libio_check_permissions(_iop, _flag) \
do { \
if (((_iop)->flags & (_flag)) == 0) { \
set_errno_and_return_minus_one( EINVAL ); \
return -1; \
} \
} while (0)
/*
* rtems_filesystem_freenode
*
* Macro to free a node.
*/
#define rtems_filesystem_freenode( _node ) \
do { \
if ( (_node)->ops )\
if ( (_node)->ops->freenod_h ) \
(*(_node)->ops->freenod_h)( (_node) ); \
} while (0)
/*
* rtems_filesystem_is_separator
*
* Macro to determine if a character is a path name separator.
*
* NOTE: This macro handles MS-DOS and UNIX style names.
*/
#define rtems_filesystem_is_separator( _ch ) \
( ((_ch) == '/') || ((_ch) == '\\') || ((_ch) == '\0'))
/*
* rtems_filesystem_get_start_loc
*
* Macro to determine if path is absolute or relative.
*/
#define rtems_filesystem_get_start_loc( _path, _index, _loc ) \
do { \
if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) { \
*(_loc) = rtems_filesystem_root; \
*(_index) = 1; \
} else { \
*(_loc) = rtems_filesystem_current; \
*(_index) = 0; \
} \
} while (0)
#define rtems_filesystem_get_sym_start_loc( _path, _index, _loc ) \
do { \
if ( rtems_filesystem_is_separator( (_path)[ 0 ] ) ) { \
*(_loc) = rtems_filesystem_root; \
*(_index) = 1; \
} else { \
*(_index) = 0; \
} \
} while (0)
/*
* External structures
*/
#if !defined(LOGIN_NAME_MAX)
#if defined(__linux__)
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
#else
#error "don't know how to set LOGIN_NAME_MAX"
#endif
#endif
typedef struct {
rtems_id task_id;
rtems_filesystem_location_info_t current_directory;
rtems_filesystem_location_info_t root_directory;
/* Default mode for all files. */
mode_t umask;
nlink_t link_counts;
/* _POSIX_types */
uid_t uid;
gid_t gid;
uid_t euid;
gid_t egid;
char login_buffer[LOGIN_NAME_MAX];
pid_t pgrp; /* process group id */
} rtems_user_env_t;
extern rtems_user_env_t * rtems_current_user_env;
extern rtems_user_env_t rtems_global_user_env;
#define rtems_filesystem_current (rtems_current_user_env->current_directory)
#define rtems_filesystem_root (rtems_current_user_env->root_directory)
#define rtems_filesystem_link_counts (rtems_current_user_env->link_counts)
#define rtems_filesystem_umask (rtems_current_user_env->umask)
#define _POSIX_types_Uid (rtems_current_user_env->uid)
#define _POSIX_types_Gid (rtems_current_user_env->gid)
#define _POSIX_types_Euid (rtems_current_user_env->euid)
#define _POSIX_types_Egid (rtems_current_user_env->egid)
#define _POSIX_types_Getlogin_buffer (rtems_current_user_env->login_buffer)
/*
* Instantiate a private copy of the per user information for the calling task.
*/
rtems_status_code rtems_libio_set_private_env(void);
rtems_status_code rtems_libio_share_private_env(rtems_id task_id) ;
/*
* File Descriptor Routine Prototypes
*/
rtems_libio_t *rtems_libio_allocate(void);
unsigned32 rtems_libio_fcntl_flags(
unsigned32 fcntl_flags
);
unsigned32 rtems_libio_to_fcntl_flags(
unsigned32 flags
);
void rtems_libio_free(
rtems_libio_t *iop
);
int rtems_libio_is_open_files_in_fs(
rtems_filesystem_mount_table_entry_t *mt_entry
);
int rtems_libio_is_file_open(
void *node_access
);
/*
* File System Routine Prototypes
*/
int rtems_filesystem_evaluate_path(
const char *pathname,
int flags,
rtems_filesystem_location_info_t *pathloc,
int follow_link
);
void rtems_filesystem_initialize();
int init_fs_mount_table();
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,79 +0,0 @@
/*
* Libio Internal Information
*
* 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$
*/
#ifndef __rtems_userenv_h
#define __rtems_userenv_h
#include <rtems.h>
#include <rtems/fs.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* External structures
*/
#if !defined(LOGIN_NAME_MAX)
#if defined(__linux__)
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
#else
#error "don't know how to set LOGIN_NAME_MAX"
#endif
#endif
typedef struct {
rtems_id task_id;
rtems_filesystem_location_info_t current_directory;
rtems_filesystem_location_info_t root_directory;
/* Default mode for all files. */
mode_t umask;
nlink_t link_counts;
/* _POSIX_types */
uid_t uid;
gid_t gid;
uid_t euid;
gid_t egid;
char login_buffer[LOGIN_NAME_MAX];
pid_t pgrp; /* process group id */
} rtems_user_env_t;
extern rtems_user_env_t * rtems_current_user_env;
extern rtems_user_env_t rtems_global_user_env;
#define rtems_filesystem_current (rtems_current_user_env->current_directory)
#define rtems_filesystem_root (rtems_current_user_env->root_directory)
#define rtems_filesystem_link_counts (rtems_current_user_env->link_counts)
#define rtems_filesystem_umask (rtems_current_user_env->umask)
#define _POSIX_types_Uid (rtems_current_user_env->uid)
#define _POSIX_types_Gid (rtems_current_user_env->gid)
#define _POSIX_types_Euid (rtems_current_user_env->euid)
#define _POSIX_types_Egid (rtems_current_user_env->egid)
#define _POSIX_types_Getlogin_buffer (rtems_current_user_env->login_buffer)
/*
* Instantiate a private copy of the per user information for the calling task.
*/
rtems_status_code rtems_libio_set_private_env(void);
rtems_status_code rtems_libio_share_private_env(rtems_id task_id) ;
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,14 +0,0 @@
Makefile
Makefile.in
aclocal.m4
autom4te.cache
config.cache
config.guess
config.log
config.status
config.sub
configure
depcomp
install-sh
missing
mkinstalldirs

View File

@@ -1,167 +0,0 @@
2002-07-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: RTEMS_TOP(../..).
2002-07-01 Joel Sherrill <joel@OARcorp.com>
* Mega patch merge to change the format of the object IDs to
loosen the dependency between the SCORE and the various APIs.
There was considerable work to simplify the object name management
and it appears that the name_table field is no longer needed.
This patch also includes the addition of the internal mutex
which is currently only used to protect some types of allocation
and deallocation. This significantly can reduce context
switch latency under certain circumstances. In particular,
some heap/region operations were O(n) and had dispatching
disabled. This should help enormously. With this merge,
the patch is not as clean as it should be. In particular,
the documentation has not been modified to reflect the new object
ID layout, the IDs in the test screens are not updated, and
_Objects_Get_information needs to be a real routine not inlined.
As part of this patch a lot of MP code for thread/proxy blocking
was made conditional and cleaned up.
* src/cre_mbf.c, src/cre_sem.c, src/eventflags.c, src/fmempool.c,
src/itronsem.c, src/mbox.c, src/msgbuffer.c, src/port.c, src/task.c,
src/vmempool.c: Modified as part of above.
2002-07-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove RTEMS_PROJECT_ROOT.
2002-06-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Use AC_CONFIG_AUX_DIR(../..).
Add AC_PROG_RANLIB.
2002-06-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove references to RTEMS_BSP.
* src/Makefile.am: Add libitron.a.
2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* Makefile.am: Include $(top_srcdir)/../automake/*.am.
Use ../aclocal.
* inline/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* macros/Makefile.am: Include $(top_srcdir)/../automake/*.am.
* src/Makefile.am: Include $(top_srcdir)/../automake/*.am.
2001-04-22 Joel Sherrill <joel@OARcorp.com>
* src/task.c (_ITRON_Task_User_extensions): Add new fields to
be correct in respect to newly added fields for separate switch list.
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac:
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
* Makefile.am: Remove AUTOMAKE_OPTIONS.
* inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
* macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
* src/Makefile.am: Remove AUTOMAKE_OPTIONS.
2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Add multilib support.
2001-11-07 Joel Sherrill <joel@OARcorp.com>
Discovered while fixing PR36 reported by Todor.Todorov@barco.com.
* include/rtems/itron/object.h: Corrected _ITRON_Objects_Get()
to use _Objects_Get_by_index().
2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/itronsys/Makefile.am: Remove.
* include/rtems/Makefile.am: Remove.
* include/rtems/itron/Makefile.am: Remove.
* inline/rtems/Makefile.am: Remove.
* inline/rtems/itron/Makefile.am: Remove.
* macros/rtems/Makefile.am: Remove.
* macros/rtems/itron/Makefile.am: Remove.
* include/Makefile.am: handle subdirs.
* inline/Makefile.am: handle subdirs.
* macros/Makefile.am: handle subdirs.
* configure.ac: Reflect changes above.
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
* configure.in: Remove.
* configure.ac: New file, generated from configure.in by autoupdate.
2001-09-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/itronsys/Makefile.am: Use 'PREINSTALL_FILES ='.
* include/rtems/itron/Makefile.am: Use 'PREINSTALL_FILES ='.
* include/Makefile.am: Use 'PREINSTALL_FILES ='.
* inline/rtems/itron/Makefile.am: Use 'PREINSTALL_FILES ='.
* macros/rtems/itron/Makefile.am: Use 'PREINSTALL_FILES ='.
2001-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Revamp INCLUDES handling to make automake-1.5
happy.
2001-08-09 Joel Sherrill <joel@OARcorp.com>
* src/snd_mbx.c, src/tsnd_mbf.c: Unblocking message queue operations
should NOT use _Thread_Executing for return status since it is
permissible to invoke message send operations from an ISR. This was
reported by Suvrat Gupta <suvrat@utstar.com>.
2001-04-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Add [-ansi -fasm] to RTEMS_PROG_CC_FOR_TARGET.
2001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am, include/itronsys/Makefile.am,
include/rtems/itron/Makefile.am, inline/rtems/itron/Makefile.am,
macros/rtems/itron/Makefile.am:
Apply include_*HEADERS instead of H_FILES.
2001-01-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Add src/config.h
* src/Makefile.am: Add INCLUDES += -I. to pickup config.h
* src/.cvsignore: Add config.h and stamp-h
* src/*.c: Add config.h support.
2000-12-01 Joel Sherrill <joel@OARcorp.com>
* Added macro support to ITRON API. This is known to compile.
* Makefile.am: Added macros directory.
* configure.in: Removed error check for enabling macros.
* macros/.cvsignore, macros/Makefile.am,
macros/rtems/.cvsignore, macros/rtems/Makefile.am,
macros/rtems/itron/.cvsignore, macros/rtems/itron/Makefile.am,
macros/rtems/itron/eventflags.inl, macros/rtems/itron/fmempool.inl,
macros/rtems/itron/intr.inl, macros/rtems/itron/mbox.inl,
macros/rtems/itron/msgbuffer.inl, macros/rtems/itron/network.inl,
macros/rtems/itron/port.inl, macros/rtems/itron/semaphore.inl,
macros/rtems/itron/sysmgmt.inl, macros/rtems/itron/task.inl,
macros/rtems/itron/time.inl, macros/rtems/itron/vmempool.inl: New files.
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
2000-10-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
Switch to GNU canonicalization.
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Include compile.am.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.

View File

@@ -1,10 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = include inline macros src
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am

View File

@@ -1,55 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.52)
AC_INIT([rtems-c-src-exec-itron],[_RTEMS_VERSION],[rtems-bugs@OARcorp.com])
AC_CONFIG_SRCDIR([include/itronsys])
RTEMS_TOP(../..)
AC_CONFIG_AUX_DIR(../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.6])
AM_MAINTAINER_MODE
RTEMS_ENABLE_ITRON
RTEMS_ENABLE_INLINES
RTEMS_ENV_RTEMSCPU
RTEMS_CHECK_CPU
RTEMS_CANONICAL_HOST
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
AC_PROG_RANLIB
RTEMS_CHECK_ITRON_API
# If RTEMS macros are enabled, then use them. Otherwise, use inlines.
if test "$RTEMS_USE_MACROS" = "yes"; then
INLINEdir="macros"
else
INLINEdir="inline"
fi
AM_CONDITIONAL(INLINE,test "$INLINEdir" = "inline" )
AM_CONDITIONAL(MACROS,test "$INLINEdir" = "macros" )
## Needed when using automake for libs/rels
RTEMS_CHECK_NEWLIB
AM_CONFIG_HEADER(src/config.h)
##
## FIXME: We configure and build the macros subdirectory, too.
## Should probably use AM_CONDITIONALs to disable them in future
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
src/Makefile
include/Makefile
inline/Makefile
macros/Makefile
])
AC_OUTPUT

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,55 +0,0 @@
##
## $Id$
##
$(PROJECT_INCLUDE):
@$(mkinstalldirs) $@
$(PROJECT_INCLUDE)/itronsys:
@$(mkinstalldirs) $@
$(PROJECT_INCLUDE)/rtems/itron:
@$(mkinstalldirs) $@
$(PROJECT_INCLUDE)/%: %
$(INSTALL_DATA) $< $@
## include
include_HEADERS = itron.h
PREINSTALL_FILES = $(PROJECT_INCLUDE) \
$(include_HEADERS:%=$(PROJECT_INCLUDE)/%)
## itronsys
include_itronsysdir = $(includedir)/itronsys
include_itronsys_HEADERS = itronsys/eventflags.h itronsys/fmempool.h \
itronsys/intr.h itronsys/mbox.h itronsys/msgbuffer.h itronsys/network.h \
itronsys/port.h itronsys/semaphore.h itronsys/status.h itronsys/sysmgmt.h \
itronsys/task.h itronsys/time.h itronsys/types.h itronsys/vmempool.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/itronsys \
$(include_itronsys_HEADERS:%=$(PROJECT_INCLUDE)/%)
EXTRA_DIST = itronsys/README
## rtems/itron
include_rtems_itrondir = $(includedir)/rtems/itron
include_rtems_itron_HEADERS = rtems/itron/config.h rtems/itron/eventflags.h \
rtems/itron/fmempool.h rtems/itron/intr.h rtems/itron/itronapi.h \
rtems/itron/mbox.h rtems/itron/msgbuffer.h rtems/itron/network.h \
rtems/itron/object.h rtems/itron/port.h rtems/itron/semaphore.h \
rtems/itron/sysmgmt.h rtems/itron/task.h rtems/itron/time.h \
rtems/itron/vmempool.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/itron \
$(include_rtems_itron_HEADERS:%=$(PROJECT_INCLUDE)/%)
EXTRA_DIST += rtems/itron/README
## General
all-local: $(PREINSTALL_FILES)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,52 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_h_
#define __ITRON_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Include the basic requirements
*/
#include <rtems/system.h> /* basic RTEMS types defined by */
/* each port */
#include <itronsys/types.h> /* define all the TRON types */
/* in terms of the RTEMS base types */
#include <itronsys/status.h> /* define all ITRON status codes */
/*
* Now include the per manager include files
*/
#include <itronsys/eventflags.h>
#include <itronsys/fmempool.h>
#include <itronsys/intr.h>
#include <itronsys/mbox.h>
#include <itronsys/msgbuffer.h>
#include <itronsys/sysmgmt.h> /* network depends on this file */
#include <itronsys/network.h>
#include <itronsys/port.h>
#include <itronsys/semaphore.h>
#include <itronsys/task.h>
#include <itronsys/time.h>
#include <itronsys/vmempool.h>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,9 +0,0 @@
#
# $Id$
#
This directory contains the public interface of each manager.
Each file in this directory is included from <itron.h>.
The private header file for each ITRON manager is in
../rtems/itron.

View File

@@ -1,146 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_EVENTFLAGS_h_
#define __ITRON_EVENTFLAGS_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Eventflags (cre_flg) Structure
*/
typedef struct t_cflg {
VP exinf; /* extended information */
ATR flgatr; /* eventflag attribute */
UINT iflgptn; /* initial eventflag */
/* additional information may be included depending on the implementation */
} T_CFLG;
/*
* flgatr
*/
#define TA_WSGL 0x00 /* multiple tasks are not allowed to wait (Wait
Single Task) */
#define TA_WMUL 0x08 /* multiple tasks are allowed to wait (Wait
Multiple Task) */
/*
* wfmode
*/
#define TWF_ANDW 0x00 /* AND wait */
#define TWF_ORW 0x02 /* OR wait */
#define TWF_CLR 0x01 /* clear specification */
/*
* Reference Eventflags (ref_flg) Structure
*/
typedef struct t_rflg {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there is a waiting task */
UINT flgptn; /* eventflag bit pattern */
/* additional information may be included depending on the implementation */
} T_RFLG;
/*
* Eventflag Functions
*/
/*
* cre_flg - Create Eventflag
*/
ER cre_flg(
ID flgid,
T_CFLG *pk_cflg
);
/*
* del_flg - Delete Eventflag
*/
ER del_flg(
ID flgid
);
/*
* set_flg - Set Eventflag
*/
ER set_flg(
ID flgid,
UINT setptn
);
/*
* clr_flg - Clear Eventflag
*/
ER clr_flg(
ID flgid,
UINT clrptn
);
/*
* wai_flg - Wait on Eventflag
*/
ER wai_flg(
UINT *p_flgptn,
ID flgid,
UINT waiptn,
UINT wfmode
);
/*
* pol_flg - Wait for Eventflag(Polling)
*/
ER pol_flg(
UINT *p_flgptn,
ID flgid,
UINT waiptn,
UINT wfmode
);
/*
* twai_flg - Wait on Eventflag with Timeout
*/
ER twai_flg(
UINT *p_flgptn,
ID flgid,
UINT waiptn,
UINT wfmode,
TMO tmout
);
/*
* ref_flg - Reference Eventflag Status
*/
ER ref_flg(
T_RFLG *pk_rflg,
ID flgid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,125 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_FIXED_MEMORYPOOL_h_
#define __ITRON_FIXED_MEMORYPOOL_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Fixed Memory Pool (cre_mpf) Structure
*/
/* cre_mpf */
typedef struct t_cmpf {
VP exinf; /* extended information */
ATR mpfatr; /* memorypool attributes */
INT mpfcnt; /* block count for entire memorypool */
INT blfsz; /* fixed-size memory block size */
/* additional information may be included depending on the implementation */
} T_CMPF;
/*
* mpfatr
*/
#define TA_TFIFO 0x00 /* waiting tasks are handled by FIFO */
#define TA_TPRI 0x01 /* waiting tasks are handled by priority */
/*
* Reference Fixed Memory Pool (ref_mpf) Structure
*/
/* ref_mpf */
typedef struct t_rmpf {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there are waiting tasks */
INT frbcnt; /* free block count */
/* additional information may be included depending on the implementation */
} T_RMPF;
/*
* Fixed Memory Pool Functions
*/
/*
* cre_mpf - Create Fixed-Size Memorypool
*/
ER cre_mpf(
ID mpfid,
T_CMPF *pk_cmpf
);
/*
* del_mpf - Delete Fixed-Size Memorypool
*/
ER del_mpf(
ID mpfid
);
/*
* get_blf - Get Fixed-Size Memory Block
*/
ER get_blf(
VP *p_blf,
ID mpfid
);
/*
* pget_blf - Poll and Get Fixed-Size Memory Block
*/
ER pget_blf(
VP *p_blf,
ID mpfid
);
/*
* tget_blf - Get Fixed-Size Memory Block with Timeout
*/
ER tget_blf(
VP *p_blf,
ID mpfid,
TMO tmout
);
/*
* rel_blf - Release Fixed-Size Memory Block
*/
ER rel_blf(
ID mpfid,
VP blf
);
/*
* ref_mpf - Reference Fixed-Size Memorypool Status
*/
ER ref_mpf(
T_RMPF *pk_rmpf,
ID mpfid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,106 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_INTERRUPT_h_
#define __ITRON_INTERRUPT_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Define Interrupt (def_int) Structure
*/
typedef struct t_dint {
ATR intatr; /* interrupt handler attributes */
FP inthdr; /* interrupt handler address */
/* additional information may be included depending on the implementation */
} T_DINT;
/*
* Interrupt Functions
*/
/*
* def_int - Define Interrupt Handler
*/
ER def_int(
UINT dintno,
T_DINT *pk_dint
);
/*
* ret_int - Return from Interrupt Handler
*/
void ret_int( void );
/*
* ret_wup - Return and Wakeup Task
*/
void ret_wup(
ID tskid
);
/*
* loc_cpu - Lock CPU
*/
ER loc_cpu( void );
/*
* unl_cpu - Unlock CPU
*/
ER unl_cpu( void );
/*
* dis_int - Disable Interrupt
*/
ER dis_int(
UINT eintno
);
/*
* ena_int - Enable Interrupt
*/
ER ena_int(
UINT eintno
);
/*
* chg_iXX - Change Interrupt Mask(Level or Priority)
*/
ER chg_iXX(
UINT iXXXX
);
/*
* ref_iXX - Reference Interrupt Mask(Level or Priority)
*/
ER ref_iXX(
UINT *p_iXXXX
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,138 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_MBOX_h_
#define __ITRON_MBOX_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Mailbox (cre_mbx) Structure
*/
typedef struct t_cmbx {
VP exinf; /* extended information */
ATR mbxatr; /* mailbox attributes */
/* Following is implementation-dependent function */
INT bufcnt; /* maximum number of messages to let pend */
/* additional information may be included depending on the implementation */
} T_CMBX;
/*
* mbxatr
*/
#define TA_TFIFO 0x00 /* waiting tasks are handled by FIFO */
#define TA_TPRI 0x01 /* waiting tasks are handled by priority */
#define TA_MFIFO 0x00 /* messages are handled by FIFO */
#define TA_MPRI 0x02 /* messages are handled by priority */
typedef struct t_msg {
/*
* A region (header) reserved by the OS may be included first
* depending on the implementation.
*
* NOTE: The first two fields are RTEMS specific.
*/
INT msgpri; /* priority of each message */
/* VB msgcont[]; XXX */
unsigned8 msgcont[1];
} T_MSG;
/*
* Reference Mailbox (ref_mbx) Structure
*/
typedef struct t_rmbx {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there is a waiting task */
T_MSG *pk_msg; /* message to be sent next */
/* additional information may be included depending on the implementation */
} T_RMBX;
/*
* Mailbox Functions
*/
/*
* cre_mbx - Create Mailbox
*/
ER cre_mbx(
ID mbxid,
T_CMBX *pk_cmbx
);
/*
* del_mbx - Delete Mailbox
*/
ER del_mbx(
ID mbxid
);
/*
* snd_msg - Send Message to Mailbox
*/
ER snd_msg(
ID mbxid,
T_MSG *pk_msg
);
/*
* rcv_msg - Receive Message from Mailbox
*/
ER rcv_msg(
T_MSG **ppk_msg,
ID mbxid
);
/*
* prcv_msg - Poll and Receive Message from Mailbox
*/
ER prcv_msg(
T_MSG **ppk_msg,
ID mbxid
);
/*
* trcv_msg - Receive Message from Mailbox with Timeout
*/
ER trcv_msg(
T_MSG **ppk_msg,
ID mbxid,
TMO tmout
);
/*
* ref_mbx - Reference Mailbox Status
*/
ER ref_mbx(
T_RMBX *pk_rmbx,
ID mbxid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,160 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_MESSAGEBUFFER_h_
#define __ITRON_MESSAGEBUFFER_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Message Buffer (cre_mbf) Structure
*/
typedef struct t_cmbf {
VP exinf; /* extended information */
ATR mbfatr; /* messagebuffer attributes */
INT bufsz; /* messagebuffer size */
INT maxmsz; /* maximum size of messages */
/* additional information may be included depending on the implementation */
} T_CMBF;
/*
* mbfatr
*/
#define TA_TFIFO 0x00 /* tasks waiting to receive messages are handled
by FIFO */
#define TA_TPRI 0x01 /* tasks waiting to receive messages are handled
by priority */
/*
* mbfid
*/
#define TMBF_OS (-4) /* messagebuffer used for OS error log */
#define TMBF_DB (-3) /* messagebuffer used for debugging */
/*
* Reference Message Buffer (ref_mbf) Structure
*/
typedef struct t_rmbf {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there is a */
/* task waiting to receive a message */
BOOL_ID stsk; /* indicates whether or not there is a */
/* task waiting to send a message */
INT msgsz; /* size of message to be sent next */
INT frbufsz; /* size of free buffer */
/* additional information may be included depending on the implementation */
} T_RMBF;
/*
* Message Buffer Functions
*/
/*
* cre_mbf - Create MessageBuffer
*/
ER cre_mbf(
ID mbfid,
T_CMBF *pk_cmbf
);
/*
* del_mbf - Delete MessageBuffer
*/
ER del_mbf(
ID mbfid
);
/*
* snd_mbf - Send Message to MessageBuffer
*/
ER snd_mbf(
ID mbfid,
VP msg,
INT msgsz
);
/*
* psnd_mbf - Poll and Send Message to MessageBuffer
*/
ER psnd_mbf(
ID mbfid,
VP msg,
INT msgsz
);
/*
* tsnd_mbf - Send Message to MessageBuffer with Timeout
*/
ER tsnd_mbf(
ID mbfid,
VP msg,
INT msgsz,
TMO tmout
);
/*
* rcv_mbf - Receive Message from MessageBuffer
*/
ER rcv_mbf(
VP msg,
INT *p_msgsz,
ID mbfid
);
/*
* prcv_mbf - Poll and Receive Message from MessageBuffer
*/
ER prcv_mbf(
VP msg,
INT *p_msgsz,
ID mbfid
);
/*
* trcv_mbf - Receive Message from MessageBuffer with Timeout
*/
ER trcv_mbf(
VP msg,
INT *p_msgsz,
ID mbfid,
TMO tmout
);
/*
* ref_mbf - Reference MessageBuffer Status
*/
ER ref_mbf(
T_RMBF *pk_rmbf,
ID mbfid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,78 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_NETWORK_h_
#define __ITRON_NETWORK_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* NODE srcnode, dstnode, nod:
*/
#define TND_SELF 0 /* specifies the local node */
#define TND_OTHR (-1) /* specifies default remote node */
/*
* Network Functions
*/
/*
* nrea_dat - Read Data from another Node
*/
ER nrea_dat(
INT *p_reasz,
VP dstadr,
NODE srcnode,
VP srcadr,
INT datsz
);
/*
* nwri_dat - Write Data to another Node
*/
ER nwri_dat(
INT *p_wrisz,
NODE dstnode,
VP dstadr,
VP srcadr,
INT datsz
);
/*
* nget_nod - Get Local Node Number
*/
ER nget_nod(
NODE *p_node
);
/*
* nget_ver - Get Version Information of another Node
*/
ER nget_ver(
T_VER *pk_ver,
NODE node
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,190 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_PORT_h_
#define __ITRON_PORT_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Port (cre_por) Structure
*/
typedef struct t_cpor {
VP exinf; /* extended information */
ATR poratr; /* port attributes */
INT maxcmsz; /* maximum call message size */
INT maxrmsz; /* maximum reply message size */
/* additional information may be included depending on the implementation */
} T_CPOR;
/*
* poratr
*/
#define TA_NULL 0 /* specifies no particular attributes */
/*
* TA_NULL should be used in place of zeroes to turn off all
* attribute features.
*/
/*
* Reference Port (ref_por) Structure
*/
typedef struct t_rpor {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there is a task */
/* waiting to call a rendezvous */
BOOL_ID atsk; /* indicates whether or not there is a task */
/* waiting to accept a rendezvous */
/* additional information may be included depending on the implementation */
} T_RPOR;
/*
* Port Functions
*/
/*
* cre_por - Create Port for Rendezvous
*/
ER cre_por(
ID porid,
T_CPOR *pk_cpor
);
/*
* del_por - Delete Port for Rendezvous
*/
ER del_por(
ID porid
);
/*
* cal_por - Call Port for Rendezvous Poll
*/
ER cal_por(
VP msg,
INT *p_rmsgsz,
ID porid,
UINT calptn,
INT cmsgsz
);
/*
* pcal_por - Poll and Call Port for Rendezvous
*/
ER pcal_por(
VP msg,
INT *p_rmsgsz,
ID porid,
UINT calptn,
INT cmsgsz
);
/*
* tcal_por - Call Port for Rendezvous with Timeout
*/
ER tcal_por(
VP msg,
INT *p_rmsgsz,
ID porid,
UINT calptn,
INT cmsgsz,
TMO tmout
);
/*
* acp_por - Accept Port for Rendezvous Poll
*/
ER acp_por(
RNO *p_rdvno,
VP msg,
INT *p_cmsgsz,
ID porid,
UINT acpptn
);
/*
* pacp_por - Poll and Accept Port for Rendezvous
*/
ER pacp_por(
RNO *p_rdvno,
VP msg,
INT *p_cmsgsz,
ID porid,
UINT acpptn
);
/*
* tacp_por - Accept Port for Rendezvous with Timeout
*/
ER tacp_por(
RNO *p_rdvno,
VP msg,
INT *p_cmsgsz,
ID porid,
UINT acpptn,
TMO tmout
);
/*
* fwd_por - Forward Rendezvous to Other Port
*/
ER fwd_por(
ID porid,
UINT calptn,
RNO rdvno,
VP msg,
INT cmsgsz
);
/*
* rpl_rdv - Reply Rendezvous
*/
ER rpl_rdv(
RNO rdvno,
VP msg,
INT rmsgsz
);
/*
* ref_por - Reference Port Status
*/
ER ref_por(
T_RPOR *pk_rpor,
ID porid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,121 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_SEMAPHORE_h_
#define __ITRON_SEMAPHORE_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Semaphore (cre_sem) Structure
*/
typedef struct t_csem {
VP exinf; /* extended information */
ATR sematr; /* semaphore attributes */
/* Following is the extended function for [level X]. */
INT isemcnt; /* initial semaphore count */
INT maxsem; /* maximum semaphore count */
/* additional information may be included depending on the implementation */
} T_CSEM;
/*
* sematr - Semaphore Attribute Values
*/
#define TA_TFIFO 0x00 /* waiting tasks are handled by FIFO */
#define TA_TPRI 0x01 /* waiting tasks are handled by priority */
#define _ITRON_SEMAPHORE_UNUSED_ATTRIBUTES ~(TA_TPRI)
/*
* Reference Semaphore (ref_sem) Structure
*/
typedef struct t_rsem {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there is a waiting task */
INT semcnt; /* current semaphore count */
/* additional information may be included depending on the implementation */
} T_RSEM;
/*
* Semaphore Functions
*/
/*
* cre_sem - Create Semaphore
*/
ER cre_sem(
ID semid,
T_CSEM *pk_csem
);
/*
* del_sem - Delete Semaphore
*/
ER del_sem(
ID semid
);
/*
* sig_sem - Signal Semaphore
*/
ER sig_sem(
ID semid
);
/*
* wai_sem - Wait on Semaphore
*/
ER wai_sem(
ID semid
);
/*
* preq_sem - Poll and Request Semaphore
*/
ER preq_sem(
ID semid
);
/*
* twai_sem - Wait on Semaphore with Timeout
*/
ER twai_sem(
ID semid,
TMO tmout
);
/*
* ref_sem - Reference Semaphore Status
*/
ER ref_sem(
ID semid,
T_RSEM *pk_rsem
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,70 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_STATUS_h_
#define __ITRON_STATUS_h_
#ifdef __cplusplus
extern "C" {
#endif
#define E_OK 0 /* Normal completion */
#define E_SYS (-5) /* System error */
#define E_NOMEM (-10) /* Insufficient memory */
#define E_NOSPT (-17) /* Feature not supported */
#define E_INOSPT (-18) /* Feature not supported by ITRON/FILE */
/* specification */
#define E_RSFN (-20) /* Reserved function code number */
#define E_RSATR (-24) /* Reserved attribute */
#define E_PAR (-33) /* Parameter error */
#define E_ID (-35) /* Invalid ID number */
#define E_NOEXS (-52) /* Object does not exist */
#define E_OBJ (-63) /* Invalid object state */
#define E_MACV (-65) /* Memory access disabled or memory access */
/* violation */
#define E_OACV (-66) /* Object access violation */
#define E_CTX (-69) /* Context error */
#define E_QOVR (-73) /* Queuing or nesting overflow */
#define E_DLT (-81) /* Object being waited for was deleted */
#define E_TMOUT (-85) /* Polling failure or timeout exceeded */
#define E_RLWAI (-86) /* WAIT state was forcibly released */
#define EN_NOND (-113) /* Target node does not exist or cannot be */
/* accessed */
#define EN_OBJNO (-114) /* Specifies an object number which could not be */
/* accessed on the target node */
#define EN_PROTO (-115) /* Protocol not supported on target node */
#define EN_RSFN (-116) /* System call or function not supported on */
/* target node */
#define EN_COMM (-117) /* No response from target node */
#define EN_RLWAI (-118) /* Connection function response wait state was */
/* forcibly released */
#define EN_PAR (-119) /* A value outside the range supported by the */
/* target node and/or transmission packet */
/* format was specified as a parameter */
#define EN_RPAR (-120) /* A value outside the range supported by the */
/* issuing node and/or transmission packet */
/* format was returned as a return parameter */
#define EN_CTXID (-121) /* An object on another node was specified to */
/* a system call issued from a task in dispatch */
/* disabled state or from a task-independent */
/* portion */
#define EN_EXEC (-122) /* System call could not be executed due to */
/* insufficient resources on the target node */
#define EN_NOSPT (-123) /* Connection function not supported */
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,319 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_SYSTEM_MANAGEMENT_h_
#define __ITRON_SYSTEM_MANAGEMENT_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Get Version (get_ver) Structure
*/
typedef struct t_ver {
UH maker; /* vendor */
UH id; /* format number */
UH spver; /* specification version */
UH prver; /* product version */
UH prno[4]; /* product control information */
UH cpu; /* CPU information */
UH var; /* variation descriptor */
} T_VER;
/*
* Specific MAKER codes established as of March, 1993 are as follows.
* Due to restrictions on the assignment of CPU codes described below, it is
* necessary to use maker codes in the range 0x000 through 0x00ff for vendors
* developing CPUs.
*/
/*
* CPU defines XXX need to name the constants
*/
#if 0
#define 0x000 /* No version (test systems, etc.) */
#define 0x001 /* University of Tokyo */
#define 0x009 /* FUJITSU LIMITED */
#define 0x00a /* Hitachi, Ltd. */
#define 0x00b /* Matsushita Electric Industrial Co., Ltd. */
#define 0x00c /* Mitsubishi Electric Corporation */
#define 0x00d /* NEC Corporation */
#define 0x00e /* Oki Electric Industry Co., Ltd. */
#define 0x00f /* TOSHIBA CORPORATION */
#endif
/*
* The above have been assigned in alphabetical order.
*/
#if 0
#define 0x010 /* ALPS ELECTRIC CO., LTD. */
#define 0x011 /* WACOM Co., Ltd. */
#define 0x012 /* Personal Media Corporation */
#define 0x101 /* OMRON CORPORATION */
#define 0x102 /* SEIKOSHA CO., LTD. */
#define 0x103 /* SYSTEM ALGO CO., LTD. */
#define 0x104 /* Tokyo Computer Service Co., Ltd. */
#define 0x105 /* YAMAHA CORPORATION */
#define 0x106 /* MORSON JAPAN */
#define 0x107 /* TOSHIBA INFORMATION SYSTEMS (JAPAN) CORP. */
#define 0x108 /* Miyazaki System Planning Office */
#define 0x109 /* Three Ace Computer Corporation */
#endif
/*
* CPU Codes
*
* Figure 47 shows the format of cpu code. Some processors use the format
* given in Figure 47(1). The format given in Figure 47(2) is used for all
* other proprietary processors.
*
* The code assignment of the CPU1 region in the format given in Figure 47(1)
* is common to ITRON and BTRON specifications. The same number is used in
* the CPU type of the standard object format of BTRON specification
* operating systems implemented on a TRON-specification chip.
*
* When using the format given in Figure 47(2) the code used for MAKER1 is
* assigned by using the lower 8 bits of MAKER described in the previous
* subsection. The code assignment of CPU2 is left up to each maker.
*
*
*
* +---------------+---------------+---------------+---------------+
* (1) | 0 0 0 0 0 0 0 0 | CPU1 |
* +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
* +---------------+---------------+---------------+---------------+
* (2) | MAKER1 | CPU2 |
* +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
*
* Figure 47 Format of cpu Returned by get_ver
*
*
* Specific CPU codes established as of March, 1993 are as follows.
*/
#if 0
/*
* XXX CONVERT THESE to #defines
*/
/*
* Contents of the CPU1 field
*/
#define (0x0) CPU unspecified, no CPU information given
#define (0x1) TRONCHIP32 shared
#define (0x2) reserved
#define (0x3) reserved
#define (0x4) reserved
#define (0x5) reserved (<<L1R>> TRON-specification chip)
#define (0x6) reserved (<<L1>> TRON-specification chip)
#define (0x7) reserved (TRON-specification chip supporting the
LSID function)
/* CPU vendors are unspecified for codes B'00000000 through B'00000111. */
#define (0x8) reserved
#define (0x9) GMICRO/100
#define (0xa) GMICRO/200
#define (0xb) GMICRO/300
#define (0xc) reserved
#define (0xd) TX1
#define (0xe) TX2
#define (0xf) reserved
#define (0x10) reserved
#define (0x11) reserved
#define (0x12) reserved
#define (0x13) O32
#define (0x14) reserved
#define (0x15) MN10400
#define (0x16) reserved
#define (0x17) reserved
#define (0x18) GMICRO/400
#define (0x19) GMICRO/500
#define (0x1a) reserved
#define (0x1b-0x3f)
reserved
* For GMICRO extended, TX series extended, and TRONCHIP64 chips.
#define (0x40) Motorola 68000
#define (0x41) Motorola 68010
#define (0x42) Motorola 68020
#define (0x43) Motorola 68030
#define (0x44) Motorola 68040
#define -(0x40-0x4f)
#define Motorola 68000 family
#define (0x50) National Semiconductor NS32032
#define (0x50-0x5f)
National Semiconductor NS32000 family
#define (0x60) Intel 8086, 8088
#define (0x61) Intel 80186
#define (0x62) Intel 80286
#define (0x63) Intel 80386
#define (0x64) Intel 80486
#define (0x60-0x6f)
Intel iAPX86 family
#define (0x70-0x7f)
NEC V Series
#define (0x80-0xff)
reserved
#endif
/*
* Assigning Version Numbers
*
* The version numbers of ITRON and uITRON specifications take the following
* form.
*
* Ver X.YY.ZZ[.WW]
*
* where "X" represents major version number of the ITRON specification to
* distinguish ITRON1, ITRON2 and uITRON 3.0 specifications. Specific
* assignment is as follows.
*
* "X" = 1 ITRON1 specification
* = 2 ITRON2 or uITRON 2.0 specification
* = 3 uITRON 3.0 specification
*
* "YY" is a number used to distinguish versions according to changes and
* additions made to the specification. After the specification is published,
* this number is incremented in order "YY" = 00, 01, 02... according to
* version upgrades. The first digit of "YY" is 'A', 'B' or 'C' for draft
* standard versions and test versions within the TRON Association before the
* specification have been published.
*
* The "X.YY" part of the specification version numbers is returned by spver
* to get_ver system call. The corresponding hexadecimal value is used when
* "YY" includes 'A', 'B' or 'C'.
*
* "ZZ" represents a number used to distinguish versions related to the written
* style of a specification. This number is incremented in order
* "ZZ" = 00, 01, 02... when there have been changes in specification
* configuration, reordering of chapters or corrections of misprints.
* When a further distinction of the written style of specifications is
* desired, ".WW" may be added optionally after "ZZ". WW will be assumed
* to be zero if ".WW" is omitted.
*/
/*
* Reference System (ref_sys) Structure
*/
typedef struct t_rsys {
INT sysstat; /* system state */
/* additional information may be included depending on the implementation */
} T_RSYS;
/*
* sysstat
*/
#define TSS_TSK 0 /* normal state in which dispatching is enabled during
task portion execution */
#define TSS_DDSP 1 /* state after dis_dsp has been executed during task
portion execution (dispatch disabled) */
#define TSS_LOC 3 /* state after loc_cpu has been executed during task
portion execution (interrupt and dispatch disabled)
*/
#define TSS_INDP 4 /* state during execution of task-independent portions
(interrupt and timer handlers) */
/*
* Reference Configuration (ref_cfg) Structure
*/
typedef struct t_rcfg {
/* details concerning members are implementation dependent */
} T_RCFG;
/*
* Define Service (def_svc) Structure
*/
typedef struct t_dsvc {
ATR svcatr; /* extended SVC handler attributes */
FP svchdr; /* extended SVC handler address */
/* additional information may be included depending on the implementation */
} T_DSVC;
/*
* Define Exception (def_exc) Structure
*/
typedef struct t_dexc {
ATR excatr; /* exception handler attributes */
FP exchdr; /* exception handler address */
/* additional information may be included depending on the implementation */
} T_DEXC;
/*
* System Management Functions
*/
/*
* get_ver - Get Version Information
*/
ER get_ver(
T_VER *pk_ver
);
/*
* ref_sys - Reference Semaphore Status
*/
ER ref_sys(
T_RSYS *pk_rsys
);
/*
* ref_cfg - Reference Configuration Information
*/
ER ref_cfg(
T_RCFG *pk_rcfg
);
/*
* def_svc - Define Extended SVC Handler
*/
ER def_svc(
FN s_fncd,
T_DSVC *pk_dsvc
);
/*
* def_exc - Define Exception Handler
*/
ER def_exc(
UINT exckind,
T_DEXC *pk_dexc
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,298 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TASK_h_
#define __ITRON_TASK_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Task (cre_tsk) Structure
*/
typedef struct t_ctsk {
VP exinf; /* extended information */
ATR tskatr; /* task attributes */
FP task; /* task start address */
PRI itskpri; /* initial task priority */
INT stksz; /* stack size */
/* additional information may be included depending on the implementation */
} T_CTSK;
/*
* Values for the tskatr field
*/
#define TA_ASM 0x00 /* program written in assembly language */
#define TA_HLNG 0x01 /* program written in high-level language */
#define TA_COP0 0x8000 /* uses coprocessor having ID = 0 */
#define TA_COP1 0x4000 /* uses coprocessor having ID = 1 */
#define TA_COP2 0x2000 /* uses coprocessor having ID = 2 */
#define TA_COP3 0x1000 /* uses coprocessor having ID = 3 */
#define TA_COP4 0x0800 /* uses coprocessor having ID = 4 */
#define TA_COP5 0x0400 /* uses coprocessor having ID = 5 */
#define TA_COP6 0x0200 /* uses coprocessor having ID = 6 */
#define TA_COP7 0x0100 /* uses coprocessor having ID = 7 */
/*
* Values for the tskid field
*/
#define TSK_SELF 0 /* task specifies itself */
/* XXX is this a mistake in ITRON? FALSE was here and in the types list */
#if 0
#define FALSE 0 /* indicates a task-independent portion (return */
/* parameters only) */
#endif
/*
* Values for the tskpri field
*/
#define TPRI_INI 0 /* specifies the initial priority on */
/* task startup (chg_pri) */
#define TPRI_RUN 0 /* specifies the highest priority during */
/* execution (rot_rdq) */
/*
* Reference Task (ref_tsk) Structure
*/
typedef struct t_rtsk {
VP exinf; /* extended information */
PRI tskpri; /* current priority */
UINT tskstat; /* task state */
/*
* The following are represent extended features of support
* [level X] (implementation-dependent).
*/
UINT tskwait; /* cause of wait */
ID wid; /* ID of object being waited for */
INT wupcnt; /* wakeup request count */
INT suscnt; /* SUSPEND request count */
ATR tskatr; /* task attributes */
FP task; /* task start address */
PRI itskpri; /* initial task priority */
INT stksz; /* stack size */
} T_RTSK;
/*
* Values for the tskstat field
*/
#define TTS_RUN 0x01 /* RUN */
#define TTS_RDY 0x02 /* READY */
#define TTS_WAI 0x04 /* WAIT */
#define TTS_SUS 0x08 /* SUSPEND */
#define TTS_WAS 0x0C /* WAIT-SUSPEND */
#define TTS_DMT 0x10 /* DORMANT */
/*
* Values for the tskwait field
*/
#define TTW_SLP 0x0001 /* wait due to slp_tsk or tslp_tsk */
#define TTW_DLY 0x0002 /* wait due to dly_tsk */
#define TTW_NOD 0x0008 /* connection function response wait */
#define TTW_FLG 0x0010 /* wait due to wai_flg or twai_flg */
#define TTW_SEM 0x0020 /* wait due to wai_sem or twai_sem */
#define TTW_MBX 0x0040 /* wait due to rcv_msg or trcv_msg */
#define TTW_SMBF 0x0080 /* wait due to snd_mbf or tsnd_mbf */
#define TTW_MBF 0x0100 /* wait due to rcv_mbf or trcv_mbf */
#define TTW_CAL 0x0200 /* wait for rendezvous call */
#define TTW_ACP 0x0400 /* wait for rendezvous accept */
#define TTW_RDV 0x0800 /* wait for rendezvous completion */
#define TTW_MPL 0x1000 /* wait due to get_blk or tget_blk */
#define TTW_MPF 0x2000 /* wait due to get_blf or tget_blf */
/*
* Since the task states given by tskstat and tskwait are expressed
* by bit correspondences, they are convenient when looking for OR
* conditions (such as whether a task is in WAIT or READY state).
*/
/*
* Task Management Functions
*/
/*
* cre_tsk - Create Task
*/
ER cre_tsk(
ID tskid,
T_CTSK *pk_ctsk
);
/*
* del_tsk - Delete Task
*/
ER del_tsk(
ID tskid
);
/*
* sta_tsk - Start Task
*/
ER sta_tsk(
ID tskid,
INT stacd
);
/*
* ext_tsk - Exit Issuing Task
*/
void ext_tsk( void );
/*
* exd_tsk - Exit and Delete Task
*/
void exd_tsk( void );
/*
* ter_tsk - Terminate Other Task
*/
ER ter_tsk(
ID tskid
);
/*
* dis_dsp - Disable Dispatch
*/
ER dis_dsp( void );
/*
* ena_dsp - Enable Dispatch
*/
ER ena_dsp( void );
/*
* chg_pri - Change Task Priority
*/
ER chg_pri(
ID tskid,
PRI tskpri
);
/*
* rot_rdq - Rotate Tasks on the Ready Queue
*/
ER rot_rdq(
PRI tskpri
);
/*
* rel_wai - Release Wait of Other Task
*/
ER rel_wai(
ID tskid
);
/*
* get_tid - Get Task Identifier
*/
ER get_tid(
ID *p_tskid
);
/*
* ref_tsk - Reference Task Status
*/
ER ref_tsk(
T_RTSK *pk_rtsk,
ID tskid
);
/*
* Task-Dependent Synchronization Functions
*/
/*
* sus_tsk - Suspend Other Task
*/
ER sus_tsk(
ID tskid
);
/*
* rsm_tsk - Resume Suspended Task
*/
ER rsm_tsk(
ID tskid
);
/*
* frsm_tsk - Forcibly Resume Suspended Task
*/
ER frsm_tsk(
ID tskid
);
/*
* slp_tsk - Sleep Task Sleep Task with Timeout
*/
ER slp_tsk( void );
/*
* tslp_tsk - Sleep Task with Timeout
*/
ER tslp_tsk(
TMO tmout
);
/*
* wup_tsk - Wakeup Other Task
*/
ER wup_tsk(
ID tskid
);
/*
* can_wup - Cancel Wakeup Request
*/
ER can_wup(
INT *p_wupcnt,
ID tskid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,185 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TIME_h_
#define __ITRON_TIME_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* System Time Data Type
*
* Member configuration depends on the bit width of the processor and
* on the implementation. A total of 48 bits is recommended.
*
*/
typedef struct t_systime {
H utime; /* upper 16 bits */
UW ltime; /* lower 32 bits */
} SYSTIME, CYCTIME, ALMTIME;
/*
* XXX Look this up in the spec and figure out where it comes
* XXX from. dly_tim() references it but it was left out
* XXX of the initial cut at the header files.
*/
typedef int DLYTIME;
/*
* XXX (def_cyc) Structure
*/
typedef struct t_dcyc {
VP exinf; /* extended information */
ATR cycatr; /* cyclic handler attributes */
FP cychdr; /* cyclic handler address */
UINT cycact; /* cyclic handler activation */
CYCTIME cyctim; /* cyclic startup period */
} T_DCYC;
/*
* cycact
*/
#define TCY_OFF 0x00 /* do not invoke cyclic handler */
#define TCY_ON 0x01 /* invoke cyclic handler */
#define TCY_INT 0x02 /* initialize cycle count */
/*
* Reference Cyclic Handler (ref_cyc) Structure
*/
typedef struct t_rcyc {
VP exinf; /* extended information */
CYCTIME lfttim; /* time left before next handler startup */
UINT cycact; /* cyclic handler activation */
/* additional information may be included depending on the implementation */
} T_RCYC;
/*
* Define Alarm (def_alm) Structure
*/
typedef struct t_dalm {
VP exinf; /* extended information */
ATR almatr; /* alarm handler attributes */
FP almhdr; /* alarm handler address */
UINT tmmode; /* start time specification mode */
ALMTIME almtim; /* handler startup time */
} T_DALM;
/*
* tmmode
*/
#define TTM_ABS 0x00 /* specified as an absolute time */
#define TTM_REL 0x01 /* specified as a relative time */
/*
* Reference Alarm (ref_alm) Structure
*/
typedef struct t_ralm {
VP exinf; /* extended information */
ALMTIME lfttim; /* time left before next handler startup */
/* additional information may be included depending on the implementation */
} T_RALM;
/*
* Time Management Functions
*/
/*
* set_tim - Set System Clock
*/
ER set_tim(
SYSTIME *pk_tim
);
/*
* get_tim - Get System Clock
*/
ER get_tim(
SYSTIME *pk_tim
);
/*
* dly_tsk - Delay Task
*/
ER dly_tsk(
DLYTIME dlytim
);
/*
* def_cyc - Define Cyclic Handler
*/
ER def_cyc(
HNO cycno,
T_DCYC *pk_dcyc
);
/*
* act_cyc - Activate Cyclic Handler
*/
ER act_cyc(
HNO cycno,
UINT cycact
);
/*
* ref_cyc - Reference Cyclic Handler Status
*/
ER ref_cyc(
T_RCYC *pk_rcyc,
HNO cycno
);
/*
* def_alm - Define Alarm Handler
*/
ER def_alm(
HNO almno,
T_DALM *pk_dalm
);
/*
* ref_alm - Reference Alarm Handler Status
*/
ER ref_alm(
T_RALM *pk_ralm,
HNO almno
);
/*
* ret_tmr - Return from Timer Handler
*/
void ret_tmr( void );
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,121 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TYPES_h_
#define __ITRON_TYPES_h_
#ifdef __cplusplus
extern "C" {
#endif
/* XXX some of these may need to be moved */
/*
* XXX: These names are too short and conflict with numerous
* off the shell programs including paranoia.
*/
typedef signed8 B; /* signed 8-bit integer */
typedef signed16 H; /* signed 16-bit integer */
typedef signed32 W; /* signed 32-bit integer */
typedef unsigned8 UB; /* unsigned 8-bit integer */
typedef unsigned16 UH; /* unsigned 16-bit integer */
typedef unsigned32 UW; /* unsigned 32-bit integer */
typedef unsigned32 VW; /* unpredictable data type (32-bit size) */
typedef unsigned16 VH; /* unpredictable data type (16-bit size) */
typedef unsigned8 VB; /* unpredictable data type (8-bit size) */
typedef void *VP; /* pointer to an unpredictable data type */
typedef void (*FP)(); /* program start address */
/*
* 6.4 Data Types
*
* The difference between VB, VH and VW and B, H and W is that only the
* number of bits is known for the former, not the data type of the
* contents. The latter clearly represent integers.
*/
/*
* Data Types Dependent on ITRON Specification
*
* In order to clarify the meanings of certain parameters, the
* following names are used for data types which appear frequently
* and/or have special meanings.
*/
typedef signed32 INT; /* Signed integer (bit width of processor) */
typedef unsigned32 UINT; /* Unsigned integer (bit width of processor) */
typedef boolean BOOL; /* Boolean value. TRUE (1) or FALSE (0). */
typedef signed16 FN; /* Function code. Signed integer. Maximum 2 bytes. */
typedef int ID; /* Object ID number (???id) */
/* Value range depends on the system. Usually */
/* a signed integer. Certain ID values may */
/* represent objects on other nodes when the */
/* connection function is supported. */
typedef unsigned32 BOOL_ID;/* Boolean value or ID number */
typedef signed32 HNO; /* Handler number */
typedef signed32 RNO; /* Rendezvous number */
typedef signed32 NODE; /* Node Number. Usually a signed integer. */
typedef signed32 ATR; /* Object or handler attribute. */
/* An unsigned integer. */
typedef signed32 ER; /* Error code. A signed integer. */
typedef unsigned32 PRI; /* Task priority. A signed integer. */
typedef signed32 TMO; /* Timeout value. A signed integer. */
/* TMO_POL = 0 indicates polling, */
/* while TMO_FEVR = -1 indicates wait forever. */
/*
* 6.6 Common Constants and Data Structure Packet Formats
*/
#define NADR (-1) /* invalid address or pointer value */
#ifndef TRUE
#define TRUE 1 /* true */
#endif
#ifndef FALSE
#define FALSE 0 /* false */
#endif
/*
* ATR tskatr, intatr, cycatr, almatr, svcatr, excatr:
*
* TA_ASM indicates that the task or handler is directly started
* at the assembly language level. The TA_ASM attribute has the
* opposite meaning of TA_HLNG.
*
* NOTE: Really in <itronsys/task.h>
*/
#if 0
#define TA_ASM 0x00 /* program written in assembly language */
#define TA_HLNG 0x01 /* program written in high-level language */
#endif
/*
* TMO tmout:
*/
#define TMO_POL 0 /* polling */
#define TMO_FEVR (-1) /* wait forever */
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,132 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_VARIABLE_MEMORYPOOL_h_
#define __ITRON_VARIABLE_MEMORYPOOL_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Create Variable Memory Pool (cre_mpl) Structure
*/
typedef struct t_cmpl {
VP exinf; /* extended information */
ATR mplatr; /* memorypool attributes */
INT mplsz; /* memorypool size */
/* additional information may be included depending on the implementation */
} T_CMPL;
/*
* mplatr
*/
#define TA_TFIFO 0x00 /* waiting tasks are handled by FIFO */
#define TA_TPRI 0x01 /* waiting tasks are handled by priority */
/*
* mplid
*/
#define TMPL_OS (-4) /* memorypool used by OS */
/*
* Reference Variable Memory Pool (ref_mpl) Structure
*/
typedef struct t_rmpl {
VP exinf; /* extended information */
BOOL_ID wtsk; /* indicates whether or not there are waiting tasks */
INT frsz; /* total size of free memory */
INT maxsz; /* size of largest contiguous memory */
/* additional information may be included depending on the implementation */
} T_RMPL;
/*
* Variable Memory Pool Functions
*/
/*
* cre_mpl - Create Variable-Size Memorypool
*/
ER cre_mpl(
ID mplid,
T_CMPL *pk_cmpl
);
/*
* del_mpl - Delete Variable-Size Memorypool
*/
ER del_mpl(
ID mplid
);
/*
* get_blk - Get Variable-Size Memory Block
*/
ER get_blk(
VP *p_blk,
ID mplid,
INT blksz
);
/*
* pget_blk - Poll and Get Variable-Size Memory Block
*/
ER pget_blk(
VP *p_blk,
ID mplid,
INT blksz
);
/*
* tget_blk - Get Variable-Size Memory Block with Timeout
*/
ER tget_blk(
VP *p_blk,
ID mplid,
INT blksz,
TMO tmout
);
/*
* rel_blk - Release Variable-Size Memory Block
*/
ER rel_blk(
ID mplid,
VP blk
);
/*
* ref_mpl - Reference Variable-Size Memorypool Status
*/
ER ref_mpl(
T_RMPL *pk_rmpl,
ID mplid
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,10 +0,0 @@
#
# $Id$
#
This directory contains the private interface of each manager.
These files should only be included from the from the
implementation of each manager.
The public header file for each ITRON manager is in
../../../tronsys.

View File

@@ -1,62 +0,0 @@
/* config.h
*
* This include file contains the table of user defined configuration
* parameters specific for the ITRON API.
*
* 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$
*/
#ifndef __RTEMS_ITRON_CONFIGURATION_h
#define __RTEMS_ITRON_CONFIGURATION_h
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX
*
* The following records define the Configuration Table. The
* information contained in this table is required in all
* RTEMS systems, whether single or multiprocessor. This
* table primarily defines the following:
*
* + required number of each object type
*/
/*
* For now, we are only allowing the user to specify the entry point
* and stack size for ITRON initialization threads.
*/
typedef struct {
ID id;
T_CTSK attributes;
} itron_initialization_tasks_table;
typedef struct {
int maximum_tasks;
int maximum_semaphores;
int maximum_eventflags;
int maximum_mailboxes;
int maximum_message_buffers;
int maximum_ports;
int maximum_memory_pools;
int maximum_fixed_memory_pools;
int number_of_initialization_tasks;
itron_initialization_tasks_table *User_initialization_tasks_table;
} itron_api_configuration_table;
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,61 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_EVENTFLAGS_h_
#define __RTEMS_ITRON_EVENTFLAGS_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
/*
* The following defines the control block used to manage each event flag.
*/
typedef struct {
ITRON_Objects_Control Object;
unsigned32 XXX_more_stuff_goes_here;
} ITRON_Eventflags_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Eventflags_Information;
/*
* _ITRON_Eventflags_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Eventflags_Manager_initialization(
unsigned32 maximum_eventflags
);
/*
* XXX insert private stuff here
*/
#include <rtems/itron/eventflags.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,62 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_FIXED_MEMORYPOOL_h_
#define __RTEMS_ITRON_FIXED_MEMORYPOOL_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
/*
* The following defines the control block used to manage each
* fixed memory pool.
*/
typedef struct {
ITRON_Objects_Control Object;
unsigned32 XXX_more_stuff_goes_here;
} ITRON_Fixed_memory_pool_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Fixed_memory_pool_Information;
/*
* _ITRON_Fixed_memory_pool_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Fixed_memory_pool_Manager_initialization(
unsigned32 maximum_fixed_memory_pools
);
/*
* XXX insert private stuff here
*/
#include <rtems/itron/fmempool.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,31 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_INTERRUPT_h_
#define __RTEMS_ITRON_INTERRUPT_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert private stuff here
*/
#include <rtems/itron/intr.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* ITRON API Support
*
* 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$
*/
#ifndef __ITRON_API_h
#define __ITRON_API_h
#include <rtems/config.h>
/*
* _ITRON_API_Initialize
*
* Initialize the ITRON API.
*/
void _ITRON_API_Initialize(
rtems_configuration_table *configuration_table
);
#endif
/* end of include file */

View File

@@ -1,73 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_MBOX_h_
#define __RTEMS_ITRON_MBOX_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
#include <rtems/score/coremsg.h>
/*
* The following defines the control block used to manage each mailbox.
*/
typedef struct {
ITRON_Objects_Control Object;
unsigned32 count;
boolean do_message_priority;
CORE_message_queue_Control message_queue;
} ITRON_Mailbox_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Mailbox_Information;
/*
* _ITRON_Mailbox_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Mailbox_Manager_initialization(
unsigned32 maximum_mailboxes
);
/*
* _ITRON_Mailbox_Translate_core_message_queue_return_code
*
* DESCRIPTION:
*
* This routine translates a core message queue object status
* into the appropriate ITRON status code.
*/
ER _ITRON_Mailbox_Translate_core_message_queue_return_code(
CORE_message_queue_Status status
);
#include <rtems/itron/mbox.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,72 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_MESSAGEBUFFER_h_
#define __RTEMS_ITRON_MESSAGEBUFFER_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
#include <rtems/score/coremsg.h>
/*
* The following defines the control block used to manage each
* message buffer.
*/
typedef struct {
ITRON_Objects_Control Object;
boolean is_priority_blocking;
CORE_message_queue_Control message_queue;
} ITRON_Message_buffer_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Message_buffer_Information;
/*
* _ITRON_Message_buffer_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Message_buffer_Manager_initialization(
unsigned32 maximum_message_buffers
);
/*
* _ITRON_Message_buffer_Translate_core_message_buffer_return_code
*
* DESCRIPTION:
*
* This routine translates a core message buffer object status
* into the appropriate ITRON status code.
*/
ER _ITRON_Message_buffer_Translate_core_message_buffer_return_code(
CORE_message_queue_Status status
);
#include <rtems/itron/msgbuffer.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,31 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_NETWORK_h_
#define __RTEMS_ITRON_NETWORK_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert private stuff here
*/
#include <rtems/itron/network.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,120 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_OBJECT_h_
#define __RTEMS_ITRON_OBJECT_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/object.h>
typedef Objects_Control ITRON_Objects_Control;
/*
* Maximum length of an ITRON object name
*
* NOTE: Since ITRON objects do not have names, then then length is 0.
*/
#define ITRON_MAXIMUM_NAME_LENGTH 0
/*
* _ITRON_Objects_Open
*
* Make this ITRON object visible to the system.
*
* NOTE: This macro hides the fact that ITRON objects don't have names.
*/
#define _ITRON_Objects_Open( _the_information, _the_object ) \
_Objects_Open( (_the_information), (_the_object), NULL )
/*
* _ITRON_Objects_Close
*
* Make this ITRON object invisible from the system. Usually used as
* the first step of deleting an object.
*/
#define _ITRON_Objects_Close( _the_information, _the_object ) \
_Objects_Close( (_the_information), (_the_object) )
/*
* _ITRON_Objects_Allocate_by_index
*
* Allocate the ITRON object specified by "_id". The ITRON id is the
* index portion of the traditional RTEMS ID. The Classic and POSIX
* APIs do not require that a specific object be allocated.
*/
#define _ITRON_Objects_Allocate_by_index( _the_information, _id, _sizeof ) \
_Objects_Allocate_by_index( (_the_information), (_id), (_sizeof) )
/*
* _ITRON_Objects_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Objects_Clarify_allocation_id_error( _the_information, _id ) \
(((_id) < -4) ? E_OACV : /* attempt to access a "system object" */ \
((_id) <= 0) ? E_ID : /* bogus index of 0 - -3 */ \
((_id) <= (_the_information)->maximum) ? E_OBJ : /* object is in use */ \
E_ID) /* simply a bad id */
/*
* _ITRON_Objects_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Objects_Clarify_get_id_error( _the_information, _id ) \
(((_id) < -4) ? E_OACV : /* attempt to access a "system object" */ \
((_id) <= 0) ? E_ID : /* bogus index of 0 - -3 */ \
((_id) <= (_the_information)->maximum) ? E_NOEXS : /* does not exist */ \
E_ID) /* simply a bad id */
/*
* _ITRON_Objects_Free
*
* Free this ITRON object to the pool of inactive objects. This
* operation is the same as for the Classic and POSIX APIs.
*/
#define _ITRON_Objects_Free( _the_information, _the_object ) \
_Objects_Free( (_the_information), (_the_object) )
/*
* _ITRON_Objects_Get
*
* Obtain (get) the pointer to the control block for the object
* specified by "id". The ITRON id passed in here is simply
* the "index" portion of the traditional RTEMS ID. This
* requires that this operation be slightly different
* from the object get used by the Classic and POSIX APIs.
*/
#define _ITRON_Objects_Get( _the_information, _id, _the_object ) \
_Objects_Get_by_index( (_the_information), (_id), (_the_object) )
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,61 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_PORT_h_
#define __RTEMS_ITRON_PORT_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
/*
* The following defines the control block used to manage each port.
*/
typedef struct {
ITRON_Objects_Control Object;
unsigned32 XXX_more_stuff_goes_here;
} ITRON_Port_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Port_Information;
/*
* _ITRON_Port_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Port_Manager_initialization(
unsigned32 maximum_ports
);
/*
* XXX insert private stuff here
*/
#include <rtems/itron/port.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,59 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_SEMAPHORE_h_
#define __RTEMS_ITRON_SEMAPHORE_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
#include <rtems/score/coresem.h>
/*
* The following defines the control block used to manage each semaphore.
*/
typedef struct {
ITRON_Objects_Control Object;
boolean is_priority_blocking;
CORE_semaphore_Control semaphore;
} ITRON_Semaphore_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Semaphore_Information;
/*
* _ITRON_Semaphore_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Semaphore_Manager_initialization(
unsigned32 maximum_semaphores
);
#include <rtems/itron/semaphore.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,31 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_TIME_h_
#define __RTEMS_ITRON_TIME_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert private stuff here
*/
#include <rtems/itron/sysmgmt.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,102 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_TASK_h_
#define __RTEMS_ITRON_TASK_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
#include <rtems/itron/config.h>
#include <rtems/score/thread.h>
/*
* This macro evaluates to TRUE if there should be a "context error."
* This is defined as a blocking directive being issed from
* task-independent portions or a task in dispatch disabled state.
*
* NOTE: Dispatching is disabled in interrupts so this should cover
* both cases.
*/
#define _ITRON_Is_in_non_task_state() \
(_Thread_Dispatch_disable_level != 0)
/*
* This is the API specific information required by each thread for
* the ITRON API to function correctly.
*/
typedef struct {
unsigned32 unused; /* no use for the API extension */
/* structure for ITRON identified yet */
} ITRON_API_Control;
/*
* The following defines the information control block used to
* manage this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Task_Information;
/*
* These are used to manage the user initialization tasks.
*/
ITRON_EXTERN itron_initialization_tasks_table
*_ITRON_Task_User_initialization_tasks;
ITRON_EXTERN unsigned32 _ITRON_Task_Number_of_initialization_tasks;
/*
* _ITRON_Task_Manager_initialization
*
* This routine initializes the ITRON Task Manager.
*/
void _ITRON_Task_Manager_initialization(
unsigned32 maximum_tasks,
unsigned32 number_of_initialization_tasks,
itron_initialization_tasks_table *user_tasks
);
/*
*
* _ITRON_Delete_task
*/
ER _ITRON_Delete_task(
Thread_Control *the_thread
);
/* XXX remove the need for this. Enable dispatch should not be hidden */
#define _ITRON_return_errorno( _errno ) \
do { \
_Thread_Enable_dispatch(); \
return _errno; \
} while (0);
#ifndef __RTEMS_APPLICATION__
#include <rtems/itron/task.inl>
#endif
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,31 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_TIME_h_
#define __RTEMS_ITRON_TIME_h_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert private stuff here
*/
#include <rtems/itron/time.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,62 +0,0 @@
/*
* 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$
*/
#ifndef __RTEMS_ITRON_VARIABLE_MEMORYPOOL_h_
#define __RTEMS_ITRON_VARIABLE_MEMORYPOOL_h_
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/itron/object.h>
/*
* The following defines the control block used to manage each variable
* memory pool.
*/
typedef struct {
ITRON_Objects_Control Object;
unsigned32 XXX_more_stuff_goes_here;
} ITRON_Variable_memory_pool_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
ITRON_EXTERN Objects_Information _ITRON_Variable_memory_pool_Information;
/*
* _ITRON_Variable_memory_pool_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _ITRON_Variable_memory_pool_Manager_initialization(
unsigned32 maximum_variable_memory_pools
);
/*
* XXX insert private stuff here
*/
#include <rtems/itron/vmempool.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,26 +0,0 @@
##
## $Id$
##
include_rtems_itrondir = $(includedir)/rtems/itron
$(PROJECT_INCLUDE)/rtems/itron:
@$(mkinstalldirs) $@
$(PROJECT_INCLUDE)/%: %
$(INSTALL_DATA) $< $@
if INLINE
include_rtems_itron_HEADERS = rtems/itron/eventflags.inl \
rtems/itron/fmempool.inl rtems/itron/intr.inl rtems/itron/mbox.inl \
rtems/itron/msgbuffer.inl rtems/itron/network.inl rtems/itron/port.inl \
rtems/itron/semaphore.inl rtems/itron/sysmgmt.inl rtems/itron/task.inl \
rtems/itron/time.inl rtems/itron/vmempool.inl
PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/itron \
$(include_rtems_itron_HEADERS:%=$(PROJECT_INCLUDE)/%)
endif
all-local: $(PREINSTALL_FILES)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,151 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_EVENTFLAGS_inl_
#define __ITRON_EVENTFLAGS_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Eventflags_Allocate
*
* DESCRIPTION:
*
* This routine allocates the eventflags associated with the specified
* eventflags ID from the pool of inactive eventflagss.
*
* Input parameters:
* flgid - id of eventflags to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the eventflags control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Eventflags_Control *_ITRON_Eventflags_Allocate(
ID flgid
)
{
return (ITRON_Eventflags_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Eventflags_Information,
flgid,
sizeof(ITRON_Eventflags_Control)
);
}
/*
* _ITRON_Eventflags_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Eventflags_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Eventflags_Information, (_id) )
/*
* _ITRON_Eventflags_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Eventflags_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Eventflags_Information, (_id) )
/*
* _ITRON_Eventflags_Free
*
* DESCRIPTION:
*
* This routine frees a eventflags control block to the
* inactive chain of free eventflags control blocks.
*
* Input parameters:
* the_eventflags - pointer to eventflags control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Eventflags_Free (
ITRON_Eventflags_Control *the_eventflags
)
{
_ITRON_Objects_Free( &_ITRON_Eventflags_Information, &the_eventflags->Object );
}
/*PAGE
*
* _ITRON_Eventflags_Get
*
* DESCRIPTION:
*
* This function maps eventflags IDs to eventflags control blocks.
* If ID corresponds to a local eventflags, then it returns
* the_eventflags control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the eventflags ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_eventflags is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_eventflags is undefined.
*
* Input parameters:
* id - ITRON eventflags ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Eventflags_Control *_ITRON_Eventflags_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Eventflags_Control *)
_ITRON_Objects_Get( &_ITRON_Eventflags_Information, id, location );
}
/*PAGE
*
* _ITRON_Eventflags_Is_null
*
* This function returns TRUE if the_eventflags is NULL and FALSE otherwise.
*
* Input parameters:
* the_eventflags - pointer to eventflags control block
*
* Output parameters:
* TRUE - if the_eventflags is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Eventflags_Is_null (
ITRON_Eventflags_Control *the_eventflags
)
{
return ( the_eventflags == NULL );
}
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,158 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_FIXED_MEMORY_POOL_inl_
#define __ITRON_FIXED_MEMORY_POOL_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Fixed_memory_pool_Allocate
*
* DESCRIPTION:
*
* This routine allocates the fixed_memory_pool associated with the specified
* fixed_memory_pool ID from the pool of inactive fixed_memory_pools.
*
* Input parameters:
* mpfid - id of fixed_memory_pool to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the fixed_memory_pool control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Fixed_memory_pool_Control
*_ITRON_Fixed_memory_pool_Allocate(
ID mpfid
)
{
return (ITRON_Fixed_memory_pool_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Fixed_memory_pool_Information,
mpfid,
sizeof(ITRON_Fixed_memory_pool_Control)
);
}
/*
* _ITRON_Fixed_memory_pool_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Fixed_memory_pool_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Fixed_memory_pool_Information, (_id) )
/*
* _ITRON_Fixed_memory_pool_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Fixed_memory_pool_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( \
&_ITRON_Fixed_memory_pool_Information, (_id) )
/*
* _ITRON_Fixed_memory_pool_Free
*
* DESCRIPTION:
*
* This routine frees a fixed_memory_pool control block to the
* inactive chain of free fixed_memory_pool control blocks.
*
* Input parameters:
* the_fixed_memory_pool - pointer to fixed_memory_pool control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Fixed_memory_pool_Free (
ITRON_Fixed_memory_pool_Control *the_fixed_memory_pool
)
{
_ITRON_Objects_Free(
&_ITRON_Fixed_memory_pool_Information,
&the_fixed_memory_pool->Object
);
}
/*PAGE
*
* _ITRON_Fixed_memory_pool_Get
*
* DESCRIPTION:
*
* This function maps fixed memory pool IDs to control blocks.
* If ID corresponds to a local fixed memory pool, then it returns
* the_fixed memory pool control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the fixed memory pool ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the fixed memory pool is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the fixed memory pool is undefined.
*
* Input parameters:
* id - ITRON fixed memory pool ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Fixed_memory_pool_Control
*_ITRON_Fixed_memory_pool_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Fixed_memory_pool_Control *)
_ITRON_Objects_Get( &_ITRON_Fixed_memory_pool_Information, id, location );
}
/*PAGE
*
* _ITRON_Fixed_memory_pool_Is_null
*
* This function returns TRUE if the_fixed_memory_pool is NULL
* and FALSE otherwise.
*
* Input parameters:
* the_fixed_memory_pool - pointer to fixed_memory_pool control block
*
* Output parameters:
* TRUE - if the_fixed_memory_pool is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Fixed_memory_pool_Is_null (
ITRON_Fixed_memory_pool_Control *the_fixed_memory_pool
)
{
return ( the_fixed_memory_pool == NULL );
}
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_INTERRUPT_inl_
#define __ITRON_INTERRUPT_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,151 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_MAILBOX_inl_
#define __ITRON_MAILBOX_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Mailbox_Allocate
*
* DESCRIPTION:
*
* This routine allocates the mailbox associated with the specified
* mailbox ID from the pool of inactive mailboxs.
*
* Input parameters:
* mbxid - id of mailbox to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the mailbox control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Mailbox_Control *_ITRON_Mailbox_Allocate(
ID mbxid
)
{
return (ITRON_Mailbox_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Mailbox_Information,
mbxid,
sizeof(ITRON_Mailbox_Control)
);
}
/*
* _ITRON_Mailbox_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Mailbox_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Mailbox_Information, (_id) )
/*
* _ITRON_Mailbox_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Mailbox_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Mailbox_Information, (_id) )
/*
* _ITRON_Mailbox_Free
*
* DESCRIPTION:
*
* This routine frees a mailbox control block to the
* inactive chain of free mailbox control blocks.
*
* Input parameters:
* the_mailbox - pointer to mailbox control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Mailbox_Free (
ITRON_Mailbox_Control *the_mailbox
)
{
_ITRON_Objects_Free( &_ITRON_Mailbox_Information, &the_mailbox->Object );
}
/*PAGE
*
* _ITRON_Mailbox_Get
*
* DESCRIPTION:
*
* This function maps mailbox IDs to mailbox control blocks.
* If ID corresponds to a local mailbox, then it returns
* the_mailbox control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the mailbox ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_mailbox is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_mailbox is undefined.
*
* Input parameters:
* id - ITRON mailbox ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Mailbox_Control *_ITRON_Mailbox_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Mailbox_Control *)
_ITRON_Objects_Get( &_ITRON_Mailbox_Information, id, location );
}
/*PAGE
*
* _ITRON_Mailbox_Is_null
*
* This function returns TRUE if the_mailbox is NULL and FALSE otherwise.
*
* Input parameters:
* the_mailbox - pointer to mailbox control block
*
* Output parameters:
* TRUE - if the_mailbox is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Mailbox_Is_null (
ITRON_Mailbox_Control *the_mailbox
)
{
return ( the_mailbox == NULL );
}
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,156 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_MESSAGE_BUFFER_inl_
#define __ITRON_MESSAGE_BUFFER_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Message_buffer_Allocate
*
* DESCRIPTION:
*
* This routine allocates the message buffer associated with the specified
* message buffer ID from the pool of inactive message buffers.
*
* Input parameters:
* mbfid - id of message buffer to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the message buffer control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Message_buffer_Control
*_ITRON_Message_buffer_Allocate(
ID mbfid
)
{
return (ITRON_Message_buffer_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Message_buffer_Information,
mbfid,
sizeof(ITRON_Message_buffer_Control)
);
}
/*
* _ITRON_Message_buffer_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Message_buffer_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Message_buffer_Information, (_id) )
/*
* _ITRON_Message_buffer_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Message_buffer_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Message_buffer_Information, (_id) )
/*
* _ITRON_Message_buffer_Free
*
* DESCRIPTION:
*
* This routine frees a message buffer control block to the
* inactive chain of free message buffer control blocks.
*
* Input parameters:
* the_message_buffer - pointer to message_buffer control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Message_buffer_Free (
ITRON_Message_buffer_Control *the_message_buffer
)
{
_ITRON_Objects_Free(
&_ITRON_Message_buffer_Information,
&the_message_buffer->Object
);
}
/*PAGE
*
* _ITRON_Message_buffer_Get
*
* DESCRIPTION:
*
* This function maps message buffer IDs to message buffer control blocks.
* If ID corresponds to a local message buffer, then it returns
* the message buffer control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the message buffer ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the message buffer is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the message buffer is undefined.
*
* Input parameters:
* id - ITRON message_buffer ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Message_buffer_Control *_ITRON_Message_buffer_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Message_buffer_Control *)
_ITRON_Objects_Get( &_ITRON_Message_buffer_Information, id, location );
}
/*PAGE
*
* _ITRON_Message_buffer_Is_null
*
* This function returns TRUE if the_message_buffer is NULL
* and FALSE otherwise.
*
* Input parameters:
* the_message_buffer - pointer to message buffer control block
*
* Output parameters:
* TRUE - if the_message_buffer is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Message_buffer_Is_null (
ITRON_Message_buffer_Control *the_message_buffer
)
{
return ( the_message_buffer == NULL );
}
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_NETWORK_inl_
#define __ITRON_NETWORK_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,151 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_PORT_inl_
#define __ITRON_PORT_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Port_Allocate
*
* DESCRIPTION:
*
* This routine allocates the port associated with the specified
* port ID from the pool of inactive ports.
*
* Input parameters:
* porid - id of port to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the port control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Port_Control *_ITRON_Port_Allocate(
ID porid
)
{
return (ITRON_Port_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Port_Information,
porid,
sizeof(ITRON_Port_Control)
);
}
/*
* _ITRON_Port_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Port_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Port_Information, (_id) )
/*
* _ITRON_Port_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Port_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Port_Information, (_id) )
/*
* _ITRON_Port_Free
*
* DESCRIPTION:
*
* This routine frees a port control block to the
* inactive chain of free port control blocks.
*
* Input parameters:
* the_port - pointer to port control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Port_Free (
ITRON_Port_Control *the_port
)
{
_ITRON_Objects_Free( &_ITRON_Port_Information, &the_port->Object );
}
/*PAGE
*
* _ITRON_Port_Get
*
* DESCRIPTION:
*
* This function maps port IDs to port control blocks.
* If ID corresponds to a local port, then it returns
* the_port control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the port ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_port is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_port is undefined.
*
* Input parameters:
* id - ITRON port ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Port_Control *_ITRON_Port_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Port_Control *)
_ITRON_Objects_Get( &_ITRON_Port_Information, id, location );
}
/*PAGE
*
* _ITRON_Port_Is_null
*
* This function returns TRUE if the_port is NULL and FALSE otherwise.
*
* Input parameters:
* the_port - pointer to port control block
*
* Output parameters:
* TRUE - if the_port is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Port_Is_null (
ITRON_Port_Control *the_port
)
{
return ( the_port == NULL );
}
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,183 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_SEMAPHORE_inl_
#define __ITRON_SEMAPHORE_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Semaphore_Allocate
*
* DESCRIPTION:
*
* This routine allocates the semaphore associated with the specified
* semaphore ID from the pool of inactive semaphores.
*
* Input parameters:
* semid - id of semaphore to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the semaphore control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Semaphore_Control *_ITRON_Semaphore_Allocate(
ID semid
)
{
return (ITRON_Semaphore_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Semaphore_Information,
semid,
sizeof(ITRON_Semaphore_Control)
);
}
/*
* _ITRON_Semaphore_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Semaphore_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Semaphore_Information, (_id) )
/*
* _ITRON_Semaphore_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Semaphore_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Semaphore_Information, (_id) )
/*
* _ITRON_Semaphore_Free
*
* DESCRIPTION:
*
* This routine frees a semaphore control block to the
* inactive chain of free semaphore control blocks.
*
* Input parameters:
* the_semaphore - pointer to semaphore control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Semaphore_Free (
ITRON_Semaphore_Control *the_semaphore
)
{
_ITRON_Objects_Free( &_ITRON_Semaphore_Information, &the_semaphore->Object );
}
/*PAGE
*
* _ITRON_Semaphore_Get
*
* DESCRIPTION:
*
* This function maps semaphore IDs to semaphore control blocks.
* If ID corresponds to a local semaphore, then it returns
* the_semaphore control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the semaphore ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_semaphore is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_semaphore is undefined.
*
* Input parameters:
* id - ITRON semaphore ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Semaphore_Control *_ITRON_Semaphore_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Semaphore_Control *)
_ITRON_Objects_Get( &_ITRON_Semaphore_Information, id, location );
}
/*PAGE
*
* _ITRON_Semaphore_Is_null
*
* This function returns TRUE if the_semaphore is NULL and FALSE otherwise.
*
* Input parameters:
* the_semaphore - pointer to semaphore control block
*
* Output parameters:
* TRUE - if the_semaphore is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Semaphore_Is_null (
ITRON_Semaphore_Control *the_semaphore
)
{
return ( the_semaphore == NULL );
}
/*
* _ITRON_Semaphore_Translate_core_semaphore_return_code
*
* This function returns a ITRON status code based on the semaphore
* status code specified.
*
* Input parameters:
* the_semaphore_status - semaphore status code to translate
*
* Output parameters:
* ITRON status code - translated ITRON status code
*
*/
RTEMS_INLINE_ROUTINE ER _ITRON_Semaphore_Translate_core_semaphore_return_code (
unsigned32 the_semaphore_status
)
{
/* XXX need to be able to return "E_RLWAI" */
switch ( the_semaphore_status ) {
case CORE_SEMAPHORE_STATUS_SUCCESSFUL:
return E_OK;
case CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT:
return E_TMOUT;
case CORE_SEMAPHORE_WAS_DELETED:
return E_DLT;
case CORE_SEMAPHORE_TIMEOUT:
return E_TMOUT;
case CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED:
return E_QOVR;
case THREAD_STATUS_PROXY_BLOCKING:
return THREAD_STATUS_PROXY_BLOCKING;
}
return E_OK; /* unreached - only to remove warnings */
}
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TIME_inl_
#define __ITRON_TIME_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,181 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TASK_inl_
#define __ITRON_TASK_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Task_Allocate
*
* DESCRIPTION:
*
* This routine allocates the task associated with the specified
* task ID from the pool of inactive tasks.
*
* Input parameters:
* tskid - id of task to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the task control block
* *status - status
*/
RTEMS_INLINE_ROUTINE Thread_Control *_ITRON_Task_Allocate(
ID tskid
)
{
return (Thread_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Task_Information,
tskid,
sizeof(Thread_Control)
);
}
/*
* _ITRON_Task_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Task_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Task_Information, (_id) )
/*
* _ITRON_Task_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Task_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Task_Information, (_id) )
/*
* _ITRON_Task_Free
*
* DESCRIPTION:
*
* This routine frees a task control block to the
* inactive chain of free task control blocks.
*
* Input parameters:
* the_task - pointer to task control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Task_Free (
Thread_Control *the_task
)
{
_ITRON_Objects_Free( &_ITRON_Task_Information, &the_task->Object );
}
/*PAGE
*
* _ITRON_Task_Get
*
* DESCRIPTION:
*
* This function maps task IDs to task control blocks.
* If ID corresponds to a local task, then it returns
* the_task control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the task ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_task is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_task is undefined.
*
* Input parameters:
* id - ITRON task ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE Thread_Control *_ITRON_Task_Get (
ID id,
Objects_Locations *location
)
{
if ( id == 0 ) {
_Thread_Disable_dispatch();
*location = OBJECTS_LOCAL;
return _Thread_Executing;
}
return (Thread_Control *)
_ITRON_Objects_Get( &_ITRON_Task_Information, id, location );
}
/*PAGE
*
* _ITRON_Task_Is_null
*
* This function returns TRUE if the_task is NULL and FALSE otherwise.
*
* Input parameters:
* the_task - pointer to task control block
*
* Output parameters:
* TRUE - if the_task is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Task_Is_null (
Thread_Control *the_task
)
{
return ( the_task == NULL );
}
/*
* XXX insert inline routines here
*/
/*PAGE
*
* _ITRON_tasks_Priority_to_Core
*/
RTEMS_INLINE_ROUTINE _ITRON_Task_Priority_to_Core(
PRI ITRON_priority
)
{
return (Priority_Control) ITRON_priority;
}
/*PAGE
*
* _ITRON_tasks_Core_to_Priority
*/
RTEMS_INLINE_ROUTINE _ITRON_Task_Core_to_Priority(
Priority_Control core_priority
)
{
return (PRI) core_priority;
}
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TIME_inl_
#define __ITRON_TIME_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,161 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_VARIABLE_MEMORY_POOL_inl_
#define __ITRON_VARIABLE_MEMORY_POOL_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Variable_memory_pool_Allocate
*
* DESCRIPTION:
*
* This routine allocates the variable memory pool associated with
* the specified variable memory pool ID from the pool of inactive
* variable memory pools.
*
* Input parameters:
* mplid - id of variable memory pool to allocate
* status - pointer to status variable
*
* Output parameters:
* returns - pointer to the variable memory pool control block
* *status - status
*/
RTEMS_INLINE_ROUTINE ITRON_Variable_memory_pool_Control
*_ITRON_Variable_memory_pool_Allocate(
ID mplid
)
{
return (ITRON_Variable_memory_pool_Control *)_ITRON_Objects_Allocate_by_index(
&_ITRON_Variable_memory_pool_Information,
mplid,
sizeof(ITRON_Variable_memory_pool_Control)
);
}
/*
* _ITRON_Variable_memory_pool_Clarify_allocation_id_error
*
* This function is invoked when an object allocation ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Variable_memory_pool_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Variable_memory_pool_Information, (_id) )
/*
* _ITRON_Variable_memory_pool_Clarify_get_id_error
*
* This function is invoked when an object get ID error
* occurs to determine the specific ITRON error code to return.
*/
#define _ITRON_Variable_memory_pool_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Variable_memory_pool_Information, (_id) )
/*
* _ITRON_Variable_memory_pool_Free
*
* DESCRIPTION:
*
* This routine frees a variable memory pool control block to the
* inactive chain of free variable memory pool control blocks.
*
* Input parameters:
* the_variable_memory_pool - pointer to variable memory pool control block
*
* Output parameters: NONE
*/
RTEMS_INLINE_ROUTINE void _ITRON_Variable_memory_pool_Free (
ITRON_Variable_memory_pool_Control *the_variable_memory_pool
)
{
_ITRON_Objects_Free(
&_ITRON_Variable_memory_pool_Information,
&the_variable_memory_pool->Object
);
}
/*PAGE
*
* _ITRON_Variable_memory_pool_Get
*
* DESCRIPTION:
*
* This function maps variable memory pool IDs to variable memory pool
* control blocks. If ID corresponds to a local variable memory pool,
* then it returns the variable memory pool control pointer which maps
* to ID and location is set to OBJECTS_LOCAL. if the variable memory
* pool ID is global and resides on a remote node, then location is set
* to OBJECTS_REMOTE, and the variable memory pool is undefined. Otherwise,
* location is set to OBJECTS ERROR and the variable memory pool is undefined.
*
* Input parameters:
* id - ITRON variable memory pool ID.
* the_location - pointer to a location variable
*
* Output parameters:
* *the_location - location of the object
*/
RTEMS_INLINE_ROUTINE ITRON_Variable_memory_pool_Control
*_ITRON_Variable_memory_pool_Get (
ID id,
Objects_Locations *location
)
{
return (ITRON_Variable_memory_pool_Control *) _ITRON_Objects_Get(
&_ITRON_Variable_memory_pool_Information,
id,
location
);
}
/*PAGE
*
* _ITRON_Variable_memory_pool_Is_null
*
* This function returns TRUE if the_variable_memory_pool is NULL
* and FALSE otherwise.
*
* Input parameters:
* the_variable_memory_pool - pointer to variable memory pool control block
*
* Output parameters:
* TRUE - if the_variable_memory_pool is NULL
* FALSE - otherwise
*/
RTEMS_INLINE_ROUTINE boolean _ITRON_Variable_memory_pool_Is_null (
ITRON_Variable_memory_pool_Control *the_variable_memory_pool
)
{
return ( the_variable_memory_pool == NULL );
}
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,26 +0,0 @@
##
## $Id$
##
include_rtems_itrondir = $(includedir)/rtems/itron
$(PROJECT_INCLUDE)/rtems/itron:
@$(mkinstalldirs) $@
$(PROJECT_INCLUDE)/%: %
$(INSTALL_DATA) $< $@
if MACROS
include_rtems_itron_HEADERS = rtems/itron/eventflags.inl \
rtems/itron/fmempool.inl rtems/itron/intr.inl rtems/itron/mbox.inl \
rtems/itron/msgbuffer.inl rtems/itron/network.inl rtems/itron/port.inl \
rtems/itron/semaphore.inl rtems/itron/sysmgmt.inl rtems/itron/task.inl \
rtems/itron/time.inl rtems/itron/vmempool.inl
PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/itron \
$(include_rtems_itron_HEADERS:%=$(PROJECT_INCLUDE)/%)
endif
all-local: $(PREINSTALL_FILES)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,76 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_EVENTFLAGS_inl_
#define __ITRON_EVENTFLAGS_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Eventflags_Allocate
*/
#define _ITRON_Eventflags_Allocate( _flgid ) \
(ITRON_Eventflags_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Eventflags_Information, \
(_flgid), \
sizeof(ITRON_Eventflags_Control) \
)
/*
* _ITRON_Eventflags_Clarify_allocation_id_error
*/
#define _ITRON_Eventflags_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Eventflags_Information, (_id) )
/*
* _ITRON_Eventflags_Clarify_get_id_error
*/
#define _ITRON_Eventflags_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Eventflags_Information, (_id) )
/*
* _ITRON_Eventflags_Free
*/
#define _ITRON_Eventflags_Free( _the_eventflags ) \
_ITRON_Objects_Free( &_ITRON_Eventflags_Information, \
&(_the_eventflags)->Object )
/*
* _ITRON_Eventflags_Get
*/
#define _ITRON_Eventflags_Get( _id, _location ) \
(ITRON_Eventflags_Control *) \
_ITRON_Objects_Get( &_ITRON_Eventflags_Information, (_id), (_location) )
/*PAGE
*
* _ITRON_Eventflags_Is_null
*/
#define _ITRON_Eventflags_Is_null( _the_eventflags ) \
( (_the_eventflags) == NULL );
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,78 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_FIXED_MEMORY_POOL_inl_
#define __ITRON_FIXED_MEMORY_POOL_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Fixed_memory_pool_Allocate
*/
#define _ITRON_Fixed_memory_pool_Allocate( _mpfid ) \
(ITRON_Fixed_memory_pool_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Fixed_memory_pool_Information, \
(_mpfid), \
sizeof(ITRON_Fixed_memory_pool_Control) \
)
/*
* _ITRON_Fixed_memory_pool_Clarify_allocation_id_error
*/
#define _ITRON_Fixed_memory_pool_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Fixed_memory_pool_Information, (_id) )
/*
* _ITRON_Fixed_memory_pool_Clarify_get_id_error
*/
#define _ITRON_Fixed_memory_pool_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( \
&_ITRON_Fixed_memory_pool_Information, (_id) )
/*
* _ITRON_Fixed_memory_pool_Free
*/
#define _ITRON_Fixed_memory_pool_Free( _the_fixed_memory_pool ) \
_ITRON_Objects_Free( \
&_ITRON_Fixed_memory_pool_Information, \
&(_the_fixed_memory_pool)->Object \
)
/*
* _ITRON_Fixed_memory_pool_Get
*/
#define _ITRON_Fixed_memory_pool_Get( _id, _location ) \
(ITRON_Fixed_memory_pool_Control *) \
_ITRON_Objects_Get( &_ITRON_Fixed_memory_pool_Information, \
(_id), (_location) )
/*
* _ITRON_Fixed_memory_pool_Is_null
*/
#define _ITRON_Fixed_memory_pool_Is_null( _the_fixed_memory_pool ) \
( (_the_fixed_memory_pool) == NULL )
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_INTERRUPT_inl_
#define __ITRON_INTERRUPT_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,75 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_MAILBOX_inl_
#define __ITRON_MAILBOX_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Mailbox_Allocate
*/
#define _ITRON_Mailbox_Allocate( _mbxid ) \
(ITRON_Mailbox_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Mailbox_Information, \
(_mbxid), \
sizeof(ITRON_Mailbox_Control) \
)
/*
* _ITRON_Mailbox_Clarify_allocation_id_error
*/
#define _ITRON_Mailbox_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Mailbox_Information, (_id) )
/*
* _ITRON_Mailbox_Clarify_get_id_error
*/
#define _ITRON_Mailbox_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Mailbox_Information, (_id) )
/*
* _ITRON_Mailbox_Free
*/
#define _ITRON_Mailbox_Free( _the_mailbox ) \
_ITRON_Objects_Free( &_ITRON_Mailbox_Information, &(_the_mailbox)->Object )
/*PAGE
*
* _ITRON_Mailbox_Get
*/
#define _ITRON_Mailbox_Get( _id, _location ) \
(ITRON_Mailbox_Control *) \
_ITRON_Objects_Get( &_ITRON_Mailbox_Information, (_id), (_location) )
/*PAGE
*
* _ITRON_Mailbox_Is_null
*/
#define _ITRON_Mailbox_Is_null( _the_mailbox ) \
( (_the_mailbox) == NULL )
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,78 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_MESSAGE_BUFFER_inl_
#define __ITRON_MESSAGE_BUFFER_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Message_buffer_Allocate
*/
#define _ITRON_Message_buffer_Allocate( _mbfid ) \
(ITRON_Message_buffer_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Message_buffer_Information, \
(_mbfid), \
sizeof(ITRON_Message_buffer_Control) \
)
/*
* _ITRON_Message_buffer_Clarify_allocation_id_error
*/
#define _ITRON_Message_buffer_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Message_buffer_Information, (_id) )
/*
* _ITRON_Message_buffer_Clarify_get_id_error
*/
#define _ITRON_Message_buffer_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Message_buffer_Information, (_id) )
/*
* _ITRON_Message_buffer_Free
*/
#define _ITRON_Message_buffer_Free( _the_message_buffer ) \
_ITRON_Objects_Free( \
&_ITRON_Message_buffer_Information, \
&(_the_message_buffer)->Object \
)
/*PAGE
*
* _ITRON_Message_buffer_Get
*/
#define _ITRON_Message_buffer_Get( _id, _location ) \
(ITRON_Message_buffer_Control *) \
_ITRON_Objects_Get( &_ITRON_Message_buffer_Information, (_id), (_location) )
/*PAGE
*
* _ITRON_Message_buffer_Is_null
*/
#define _ITRON_Message_buffer_Is_null( _the_message_buffer ) \
( (_the_message_buffer) == NULL )
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_NETWORK_inl_
#define __ITRON_NETWORK_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,75 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_PORT_inl_
#define __ITRON_PORT_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Port_Allocate
*/
#define _ITRON_Port_Allocate( _porid ) \
(ITRON_Port_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Port_Information, \
(_porid), \
sizeof(ITRON_Port_Control) \
)
/*
* _ITRON_Port_Clarify_allocation_id_error
*/
#define _ITRON_Port_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Port_Information, (_id) )
/*
* _ITRON_Port_Clarify_get_id_error
*/
#define _ITRON_Port_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Port_Information, (_id) )
/*
* _ITRON_Port_Free
*/
#define _ITRON_Port_Free( _the_port ) \
_ITRON_Objects_Free( &_ITRON_Port_Information, &(_the_port)->Object )
/*PAGE
*
* _ITRON_Port_Get
*/
#define _ITRON_Port_Get( _id, _location ) \
(ITRON_Port_Control *) \
_ITRON_Objects_Get( &_ITRON_Port_Information, (_id), (_location) )
/*PAGE
*
* _ITRON_Port_Is_null
*/
#define _ITRON_Port_Is_null( _the_port ) \
( (_the_port) == NULL )
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,102 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_SEMAPHORE_inl_
#define __ITRON_SEMAPHORE_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Semaphore_Allocate
*/
#define _ITRON_Semaphore_Allocate( _semid ) \
(ITRON_Semaphore_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Semaphore_Information, \
(_semid), \
sizeof(ITRON_Semaphore_Control) \
)
/*
* _ITRON_Semaphore_Clarify_allocation_id_error
*/
#define _ITRON_Semaphore_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Semaphore_Information, (_id) )
/*
* _ITRON_Semaphore_Clarify_get_id_error
*/
#define _ITRON_Semaphore_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Semaphore_Information, (_id) )
/*
* _ITRON_Semaphore_Free
*/
#define _ITRON_Semaphore_Free( _the_semaphore ) \
_ITRON_Objects_Free( &_ITRON_Semaphore_Information, &(_the_semaphore)->Object )
/*PAGE
*
* _ITRON_Semaphore_Get
*/
#define _ITRON_Semaphore_Get( _id, _location ) \
(ITRON_Semaphore_Control *) \
_ITRON_Objects_Get( &_ITRON_Semaphore_Information, (_id), (_location) )
/*PAGE
*
* _ITRON_Semaphore_Is_null
*/
#define _ITRON_Semaphore_Is_null( _the_semaphore ) \
( (_the_semaphore) == NULL )
/*
* _ITRON_Semaphore_Translate_core_semaphore_return_code
*/
/* XXX fix me */
static ER _ITRON_Semaphore_Translate_core_semaphore_return_code (
unsigned32 the_semaphore_status
)
{
/* XXX need to be able to return "E_RLWAI" */
switch ( the_semaphore_status ) {
case CORE_SEMAPHORE_STATUS_SUCCESSFUL:
return E_OK;
case CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT:
return E_TMOUT;
case CORE_SEMAPHORE_WAS_DELETED:
return E_DLT;
case CORE_SEMAPHORE_TIMEOUT:
return E_TMOUT;
case CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED:
return E_QOVR;
case THREAD_STATUS_PROXY_BLOCKING:
return THREAD_STATUS_PROXY_BLOCKING;
}
return E_OK; /* unreached - only to remove warnings */
}
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TIME_inl_
#define __ITRON_TIME_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,102 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TASK_inl_
#define __ITRON_TASK_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Task_Allocate
*/
#define _ITRON_Task_Allocate( _tskid ) \
(Thread_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Task_Information, \
(_tskid), \
sizeof(Thread_Control) \
)
/*
* _ITRON_Task_Clarify_allocation_id_error
*/
#define _ITRON_Task_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Task_Information, (_id) )
/*
* _ITRON_Task_Clarify_get_id_error
*/
#define _ITRON_Task_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Task_Information, (_id) )
/*
* _ITRON_Task_Free
*/
#define _ITRON_Task_Free( _the_task ) \
_ITRON_Objects_Free( &_ITRON_Task_Information, &(_the_task)->Object )
/*PAGE
*
* _ITRON_Task_Get
*/
/* XXX fix me */
static Thread_Control *_ITRON_Task_Get (
ID id,
Objects_Locations *location
)
{
if ( id == 0 ) {
_Thread_Disable_dispatch();
*location = OBJECTS_LOCAL;
return _Thread_Executing;
}
return (Thread_Control *)
_ITRON_Objects_Get( &_ITRON_Task_Information, id, location );
}
/*PAGE
*
* _ITRON_Task_Is_null
*/
#define _ITRON_Task_Is_null( _the_task ) \
( (_the_task) == NULL )
/*PAGE
*
* _ITRON_tasks_Priority_to_Core
*/
#define _ITRON_Task_Priority_to_Core( _ITRON_priority ) \
((Priority_Control) (_ITRON_priority))
/*PAGE
*
* _ITRON_tasks_Core_to_Priority
*/
#define _ITRON_Task_Core_to_Priority( _core_priority ) \
((PRI) (_core_priority))
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,30 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_TIME_inl_
#define __ITRON_TIME_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX insert inline routines here
*/
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,81 +0,0 @@
/*
* 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$
*/
#ifndef __ITRON_VARIABLE_MEMORY_POOL_inl_
#define __ITRON_VARIABLE_MEMORY_POOL_inl_
#ifdef __cplusplus
extern "C" {
#endif
/*
* _ITRON_Variable_memory_pool_Allocate
*/
#define _ITRON_Variable_memory_pool_Allocate( _mplid ) \
(ITRON_Variable_memory_pool_Control *)_ITRON_Objects_Allocate_by_index( \
&_ITRON_Variable_memory_pool_Information, \
(_mplid), \
sizeof(ITRON_Variable_memory_pool_Control) \
)
/*
* _ITRON_Variable_memory_pool_Clarify_allocation_id_error
*/
#define _ITRON_Variable_memory_pool_Clarify_allocation_id_error( _id ) \
_ITRON_Objects_Clarify_allocation_id_error( \
&_ITRON_Variable_memory_pool_Information, (_id) )
/*
* _ITRON_Variable_memory_pool_Clarify_get_id_error
*/
#define _ITRON_Variable_memory_pool_Clarify_get_id_error( _id ) \
_ITRON_Objects_Clarify_get_id_error( &_ITRON_Variable_memory_pool_Information, (_id) )
/*
* _ITRON_Variable_memory_pool_Free
*/
#define _ITRON_Variable_memory_pool_Free( _the_variable_memory_pool ) \
_ITRON_Objects_Free( \
&_ITRON_Variable_memory_pool_Information, \
&(_the_variable_memory_pool)->Object \
)
/*PAGE
*
* _ITRON_Variable_memory_pool_Get
*/
#define _ITRON_Variable_memory_pool_Get( _id, _location ) \
(ITRON_Variable_memory_pool_Control *) _ITRON_Objects_Get( \
&_ITRON_Variable_memory_pool_Information, \
(_id), \
(_location) \
)
/*PAGE
*
* _ITRON_Variable_memory_pool_Is_null
*/
#define _ITRON_Variable_memory_pool_Is_null( _the_variable_memory_pool ) \
( (_the_variable_memory_pool) == NULL )
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,6 +0,0 @@
Makefile
Makefile.in
stamp-h
stamp-h.in
config.h
config.h.in

View File

@@ -1,66 +0,0 @@
##
## $Id$
##
LIB=$(ARCH)/libitron.a
INCLUDES = -I.
TASK_C_FILES = task.c cre_tsk.c del_tsk.c sta_tsk.c ext_tsk.c exd_tsk.c \
ter_tsk.c dis_dsp.c ena_dsp.c chg_pri.c rot_rdq.c rel_wai.c get_tid.c \
ref_tsk.c
TASKSYNC_C_FILES = sus_tsk.c rsm_tsk.c frsm_tsk.c slp_tsk.c tslp_tsk.c \
wup_tsk.c can_wup.c
SEMAPHORE_C_FILES = itronsem.c cre_sem.c del_sem.c preq_sem.c ref_sem.c \
sig_sem.c twai_sem.c wai_sem.c
EVENTFLAGS_C_FILES = eventflags.c
MAILBOX_C_FILES = mbox.c
MSGBUFFER_C_FILES = msgbuffer.c msgbuffertranslatereturncode.c cre_mbf.c \
del_mbf.c prcv_mbf.c psnd_mbf.c rcv_mbf.c ref_mbf.c snd_mbf.c trcv_mbf.c \
tsnd_mbf.c
RENDEZVOUS_C_FILES = port.c
INTERRUPT_C_FILES = itronintr.c
VARIABLE_MEMORY_POOL_C_FILES = vmempool.c
FIXED_MEMORY_POOL_C_FILES = fmempool.c
TIME_C_FILES = itrontime.c
CONFIGURATION_C_FILES = sysmgmt.c
NETWORK_C_FILES = network.c
C_FILES = $(TASK_C_FILES) $(TASKSYNC_C_FILES) $(SEMAPHORE_C_FILES) \
$(EVENTFLAGS_C_FILES) $(MAILBOX_C_FILES) $(MSGBUFFER_C_FILES) \
$(RENDEZVOUS_C_FILES) $(INTERRUPT_C_FILES) \
$(VARIABLE_MEMORY_POOL_C_FILES) $(FIXED_MEMORY_POOL_C_FILES) \
$(TIME_C_FILES)
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
OBJS = $(C_O_FILES)
include $(top_srcdir)/../automake/multilib.am
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/lib.am
AM_CPPFLAGS += -D__RTEMS_INSIDE__
all-local: ${ARCH} ${LIB}
$(LIB): ${OBJS}
$(make-library)
UNUSED_C_FILES = cre_mbx.c del_mbx.c mboxtranslatereturncode.c network.c \
prcv_mbx.c rcv_mbx.c ref_mbx.c snd_mbx.c sysmgmt.c trcv_mbx.c
EXTRA_DIST = $(C_FILES) $(UNUSED_C_FILES)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,13 +0,0 @@
#
# $Id$
#
The overall status including a major item todo list is in the Status
chapter of the RTEMS ITRON API User's Guide. This file contains very
short things that need to be addressed.
+ unlimited object not support for allocate by index. Support either
needs to be added for this type of object or the manager initialization
code needs to consider it a fatal error to configure the object class
in this mode.

View File

@@ -1,53 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* can_wup - Cancel Wakeup Request
*/
ER can_wup(
INT *p_wupcnt,
ID tskid
)
{
register Thread_Control *the_thread;
Objects_Locations location;
the_thread = _ITRON_Task_Get( tskid, &location );
switch ( location ) {
case OBJECTS_REMOTE:
case OBJECTS_ERROR:
return _ITRON_Task_Clarify_get_id_error( tskid );
case OBJECTS_LOCAL:
/*
* XXX - FILL ME IN.
*/
break;
}
_ITRON_return_errorno( E_OK );
}

View File

@@ -1,70 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* chg_pri - Change Task Priority
*/
ER chg_pri(
ID tskid,
PRI tskpri
)
{
register Thread_Control *the_thread;
Objects_Locations location;
Priority_Control new_priority;
the_thread = _ITRON_Task_Get( tskid, &location );
switch ( location ) {
case OBJECTS_REMOTE:
case OBJECTS_ERROR:
return _ITRON_Task_Clarify_get_id_error( tskid );
case OBJECTS_LOCAL:
if (_States_Is_dormant( the_thread->current_state ))
_ITRON_return_errorno( E_OBJ );
if (( tskpri <= 0 ) || ( tskpri >= 256 ))
_ITRON_return_errorno( E_PAR );
new_priority = _ITRON_Task_Priority_to_Core( tskpri );
the_thread->real_priority = new_priority;
/*
* The priority should not be changed until later if priority
* inheratance has occured.
*/
if ( the_thread->resource_count == 0 ||
the_thread->current_priority > new_priority )
_Thread_Change_priority( the_thread, new_priority, FALSE );
break;
}
_ITRON_return_errorno( E_OK );
}

View File

@@ -1,89 +0,0 @@
/*
* ITRON Message Buffer Manager
*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/msgbuffer.h>
#include <rtems/itron/task.h>
/*
* cre_mbf - Create MessageBuffer
*/
ER cre_mbf(
ID mbfid,
T_CMBF *pk_cmbf
)
{
CORE_message_queue_Attributes the_msgq_attributes;
ITRON_Message_buffer_Control *the_message_buffer;
/*
* Bad pointer to the attributes structure
*/
if ( !pk_cmbf )
return E_PAR;
/*
* Bits were set that were note defined.
*/
if (pk_cmbf->mbfatr & ~(TA_TPRI))
return E_RSATR;
if (pk_cmbf->bufsz < 0 || pk_cmbf->maxmsz < 0)
return E_PAR;
if (pk_cmbf->bufsz < pk_cmbf->maxmsz)
return E_PAR;
_Thread_Disable_dispatch(); /* prevents deletion */
the_message_buffer = _ITRON_Message_buffer_Allocate(mbfid);
if ( !the_message_buffer ) {
_Thread_Enable_dispatch();
return _ITRON_Message_buffer_Clarify_allocation_id_error(mbfid);
}
if ( pk_cmbf->mbfatr & TA_TPRI )
the_msgq_attributes.discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY;
else
the_msgq_attributes.discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO;
_CORE_message_queue_Initialize(
&the_message_buffer->message_queue,
&the_msgq_attributes,
pk_cmbf->bufsz / pk_cmbf->maxmsz,
pk_cmbf->maxmsz
);
_ITRON_Objects_Open( &_ITRON_Message_buffer_Information,
&the_message_buffer->Object );
/*
* If multiprocessing were supported, this is where we would announce
* the existence of the semaphore to the rest of the system.
*/
#if defined(RTEMS_MULTIPROCESSING)
#endif
_Thread_Enable_dispatch();
return E_OK;
}

View File

@@ -1,107 +0,0 @@
/*
* ITRON 3.0 Mailbox Manager
*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/mbox.h>
#include <rtems/itron/task.h>
/*
* cre_mbx - Create Mailbox
*
* Creates a Mailbox according to the following spec:
*
* ------Parameters-------------------------
* ID mbxid MailboxID
* T_CMBX *pk_cmbx Packet to Create Mailbox
* -----------------------------------------
* -*pk_cmbx members*-
* VP exinf ExtendedInformation
* ATR mbxatr MailboxAttributes
* (the use of the following information
* is implementation dependent)
* INT bufcnt BufferMessageCount
* (CPU and/or implementation-dependent information
* may also be included)
*
* ----Return Parameters--------------------
* ER ercd ErrorCode
* -----------------------------------------
*
*
* ----C Language Interface-----------------
* ER ercd = cre_mbx ( ID mbxid, T_CMBX *pk_cmbx ) ;
* -----------------------------------------
*
*/
ER cre_mbx(
ID mbxid,
T_CMBX *pk_cmbx
)
{
register ITRON_Mailbox_Control *the_mailbox;
CORE_message_queue_Attributes the_mailbox_attributes;
if ( !pk_cmbx )
return E_PAR;
if ((pk_cmbx->mbxatr & (TA_TPRI | TA_MPRI)) != 0 )
return E_RSATR;
_Thread_Disable_dispatch(); /* protects object pointer */
the_mailbox = _ITRON_Mailbox_Allocate( mbxid );
if ( !the_mailbox ) {
_Thread_Enable_dispatch();
return _ITRON_Mailbox_Clarify_allocation_id_error( mbxid );
}
the_mailbox->count = pk_cmbx->bufcnt;
if (pk_cmbx->mbxatr & TA_MPRI)
the_mailbox->do_message_priority = TRUE;
else
the_mailbox->do_message_priority = FALSE;
if (pk_cmbx->mbxatr & TA_TPRI)
the_mailbox_attributes.discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY;
else
the_mailbox_attributes.discipline = CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO;
if ( !_CORE_message_queue_Initialize(
&the_mailbox->message_queue,
OBJECTS_ITRON_MAILBOXES,
&the_mailbox_attributes,
the_mailbox->count,
sizeof(T_MSG *),
NULL ) ) { /* Multiprocessing not supported */
_ITRON_Mailbox_Free(the_mailbox);
_ITRON_return_errorno( E_OBJ );
}
_ITRON_Objects_Open( &_ITRON_Mailbox_Information, &the_mailbox->Object );
/*
* If multiprocessing were supported, this is where we would announce
* the existence of the semaphore to the rest of the system.
*/
#if defined(RTEMS_MULTIPROCESSING)
#endif
_ITRON_return_errorno( E_OK );
}

View File

@@ -1,98 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/semaphore.h>
#include <rtems/itron/task.h>
#include <rtems/score/tod.h>
/*
* cre_sem - Create Semaphore
*
* This function implements the ITRON 3.0 cre_sem() service.
*/
ER cre_sem(
ID semid,
T_CSEM *pk_csem
)
{
CORE_semaphore_Attributes the_semaphore_attributes;
ITRON_Semaphore_Control *the_semaphore;
/*
* Bad pointer to the attributes structure
*/
if ( !pk_csem )
return E_PAR;
/*
* Bits were set that were note defined.
*/
if ( pk_csem->sematr & _ITRON_SEMAPHORE_UNUSED_ATTRIBUTES )
return E_RSATR;
/*
* Initial semaphore count exceeds the maximum.
*/
if ( pk_csem->isemcnt > pk_csem->maxsem )
return E_PAR;
/*
* This error is not in the specification but this condition
* does not make sense.
*/
if ( pk_csem->maxsem == 0 )
return E_PAR;
_Thread_Disable_dispatch(); /* prevents deletion */
the_semaphore = _ITRON_Semaphore_Allocate( semid );
if ( !the_semaphore ) {
_Thread_Enable_dispatch();
return _ITRON_Semaphore_Clarify_allocation_id_error( semid );
}
if ( pk_csem->sematr & TA_TPRI )
the_semaphore_attributes.discipline = CORE_SEMAPHORE_DISCIPLINES_PRIORITY;
else
the_semaphore_attributes.discipline = CORE_SEMAPHORE_DISCIPLINES_FIFO;
the_semaphore_attributes.maximum_count = pk_csem->maxsem;
_CORE_semaphore_Initialize(
&the_semaphore->semaphore,
&the_semaphore_attributes,
pk_csem->isemcnt
);
_ITRON_Objects_Open( &_ITRON_Semaphore_Information, &the_semaphore->Object );
/*
* If multiprocessing were supported, this is where we would announce
* the existence of the semaphore to the rest of the system.
*/
#if defined(RTEMS_MULTIPROCESSING)
#endif
_Thread_Enable_dispatch();
return E_OK;
}

View File

@@ -1,124 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* cre_tsk - Create Task
*/
ER cre_tsk(
ID tskid,
T_CTSK *pk_ctsk
)
{
register Thread_Control *the_thread;
boolean status;
Priority_Control core_priority;
/*
* Validate Parameters.
*/
if ( pk_ctsk == NULL )
return E_PAR;
if ((pk_ctsk->tskatr != TA_ASM ) &&
(pk_ctsk->tskatr != TA_HLNG) &&
(pk_ctsk->tskatr != TA_COP0) &&
(pk_ctsk->tskatr != TA_COP1) &&
(pk_ctsk->tskatr != TA_COP2) &&
(pk_ctsk->tskatr != TA_COP3) &&
(pk_ctsk->tskatr != TA_COP4) &&
(pk_ctsk->tskatr != TA_COP5) &&
(pk_ctsk->tskatr != TA_COP6) &&
(pk_ctsk->tskatr != TA_COP7))
return E_RSATR;
if (( pk_ctsk->itskpri <= 0 ) || ( pk_ctsk->itskpri >= 256 ))
return E_PAR;
if ( pk_ctsk->task == NULL )
return E_PAR;
if ( pk_ctsk->stksz < 0 )
return E_PAR;
/*
* Disable dispatching.
*/
_Thread_Disable_dispatch();
/*
* allocate the thread.
*/
the_thread = _ITRON_Task_Allocate( tskid );
if ( !the_thread )
_ITRON_return_errorno( _ITRON_Task_Clarify_allocation_id_error( tskid ) );
/*
* Initialize the core thread for this task.
*/
core_priority = _ITRON_Task_Priority_to_Core( pk_ctsk->itskpri );
status = _Thread_Initialize(
&_ITRON_Task_Information,
the_thread,
NULL,
pk_ctsk->stksz,
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
TRUE, /* XXX - All tasks FP (if the HW supports it) for now */
#else
FALSE,
#endif
core_priority,
TRUE, /* preemptible */
THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE,
NULL, /* no budget algorithm callout */
0,
NULL
);
if ( !status ) {
_ITRON_Task_Free( the_thread );
_ITRON_return_errorno( E_NOMEM );
}
/*
* This insures we evaluate the process-wide signals pending when we
* first run.
*
* NOTE: Since the thread starts with all unblocked, this is necessary.
*/
the_thread->do_post_task_switch_extension = TRUE;
the_thread->Start.entry_point = (Thread_Entry) pk_ctsk->task;
_ITRON_return_errorno( E_OK );
}

View File

@@ -1,58 +0,0 @@
/*
* ITRON Message Buffer Manager
*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/msgbuffer.h>
#include <rtems/itron/task.h>
/*
* del_mbf - Delete MessageBuffer
*/
ER del_mbf(
ID mbfid
)
{
ITRON_Message_buffer_Control *the_message_buffer;
Objects_Locations location;
the_message_buffer = _ITRON_Message_buffer_Get(mbfid, &location);
switch (location) {
case OBJECTS_REMOTE:
case OBJECTS_ERROR: /* Multiprocessing not supported */
return _ITRON_Message_buffer_Clarify_get_id_error(mbfid);
case OBJECTS_LOCAL:
_CORE_message_queue_Flush(&the_message_buffer->message_queue);
_ITRON_Objects_Close( &_ITRON_Message_buffer_Information,
&the_message_buffer->Object);
_ITRON_Message_buffer_Free(the_message_buffer);
/*
* If multiprocessing were supported, this is where we would announce
* the existence of the semaphore to the rest of the system.
*/
#if defined(RTEMS_MULTIPROCESSING)
#endif
_Thread_Enable_dispatch();
return E_OK;
}
return E_OK;
}

View File

@@ -1,68 +0,0 @@
/*
* ITRON 3.0 Mailbox Manager
*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/mbox.h>
#include <rtems/itron/task.h>
/*
* del_mbx - Delete Mailbox
*
*
* ------Parameters--------------
* ID mbxid The Mailbox's ID
* ------------------------------
*
* -----Return Parameters-------
* ER ercd Itron Error Code
* -----------------------------
*
* -----C Language Interface----
* ER ercd = del_mbx(ID mbxid);
* -----------------------------
*
*/
ER del_mbx(
ID mbxid
)
{
register ITRON_Mailbox_Control *the_mailbox;
Objects_Locations location;
the_mailbox= _ITRON_Mailbox_Get( mbxid, &location );
switch ( location ) {
case OBJECTS_ERROR:
case OBJECTS_REMOTE:
return _ITRON_Mailbox_Clarify_get_id_error( mbxid );
case OBJECTS_LOCAL:
_Objects_Close( &_ITRON_Mailbox_Information, &the_mailbox->Object );
_CORE_message_queue_Close(
&the_mailbox->message_queue,
NULL, /* Multiprocessing not supported */
CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED
);
_ITRON_Mailbox_Free(the_mailbox);
break;
}
_ITRON_return_errorno( E_OK );
}

View File

@@ -1,68 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/semaphore.h>
#include <rtems/itron/task.h>
#include <rtems/score/tod.h>
/*
* del_sem - Delete Semaphore
*
* This function implements the ITRON 3.0 del_sem() service.
*/
ER del_sem(
ID semid
)
{
ITRON_Semaphore_Control *the_semaphore;
Objects_Locations location;
the_semaphore = _ITRON_Semaphore_Get( semid, &location );
switch ( location ) {
case OBJECTS_REMOTE: /* Multiprocessing not supported */
case OBJECTS_ERROR:
return _ITRON_Semaphore_Clarify_get_id_error( semid );
case OBJECTS_LOCAL:
_CORE_semaphore_Flush(
&the_semaphore->semaphore,
NULL, /* Multiprocessing not supported */
CORE_SEMAPHORE_WAS_DELETED
);
_ITRON_Objects_Close(
&_ITRON_Semaphore_Information,
&the_semaphore->Object
);
_ITRON_Semaphore_Free( the_semaphore );
/*
* If multiprocessing were supported, this is where we would announce
* the destruction of the semaphore to the rest of the system.
*/
#if defined(RTEMS_MULTIPROCESSING)
#endif
_Thread_Enable_dispatch();
return E_OK;
}
return E_OK;
}

View File

@@ -1,59 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* del_tsk - Delete Task
*/
ER del_tsk(
ID tskid
)
{
register Thread_Control *the_thread;
Objects_Locations location;
ER result = E_OK; /* to avoid warning */
the_thread = _ITRON_Task_Get( tskid, &location );
switch ( location ) {
case OBJECTS_REMOTE:
case OBJECTS_ERROR:
return _ITRON_Task_Clarify_get_id_error( tskid );
case OBJECTS_LOCAL:
if ( _Thread_Is_executing( the_thread ) )
_ITRON_return_errorno( E_OBJ );
if ( !_States_Is_dormant( the_thread->current_state ) )
_ITRON_return_errorno( E_OBJ );
result = _ITRON_Delete_task( the_thread );
break;
}
_ITRON_return_errorno( result );
}

View File

@@ -1,42 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* dis_dsp - Disable Dispatch
*/
ER dis_dsp( void )
{
/*
* Disable dispatch for protection
*/
_Thread_Disable_dispatch();
return E_OK;
}

View File

@@ -1,37 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* ena_dsp - Enable Dispatch
*/
ER ena_dsp( void )
{
_Thread_Enable_dispatch();
return E_OK;
}

View File

@@ -1,160 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <rtems/itron/eventflags.h>
/*
* _ITRON_Eventflags_Manager_initialization
*
* This routine initializes all event flags manager related data structures.
*
* Input parameters:
* maximum_eventflags - maximum configured eventflags
*
* Output parameters: NONE
*/
void _ITRON_Eventflags_Manager_initialization(
unsigned32 maximum_eventflags
)
{
_Objects_Initialize_information(
&_ITRON_Eventflags_Information, /* object information table */
OBJECTS_ITRON_API, /* object API */
OBJECTS_ITRON_EVENTFLAGS, /* object class */
maximum_eventflags, /* maximum objects of this class */
sizeof( ITRON_Eventflags_Control ),
/* size of this object's control block */
FALSE, /* TRUE if names for this object are strings */
ITRON_MAXIMUM_NAME_LENGTH /* maximum length of each object's name */
#if defined(RTEMS_MULTIPROCESSING)
,
FALSE, /* TRUE if this is a global object class */
NULL /* Proxy extraction support callout */
#endif
);
/*
* Register the MP Process Packet routine.
*
* NOTE: No MP Support YET in RTEMS ITRON implementation.
*/
}
/*
* cre_flg - Create Eventflag
*/
ER cre_flg(
ID flgid,
T_CFLG *pk_cflg
)
{
return E_OK;
}
/*
* del_flg - Delete Eventflag
*/
ER del_flg(
ID flgid
)
{
return E_OK;
}
/*
* set_flg - Set Eventflag
*/
ER set_flg(
ID flgid,
UINT setptn
)
{
return E_OK;
}
/*
* clr_flg - Clear Eventflag
*/
ER clr_flg(
ID flgid,
UINT clrptn
)
{
return E_OK;
}
/*
* wai_flg - Wait on Eventflag
*/
ER wai_flg(
UINT *p_flgptn,
ID flgid,
UINT waiptn,
UINT wfmode
)
{
return E_OK;
}
/*
* pol_flg - Wait for Eventflag(Polling)
*/
ER pol_flg(
UINT *p_flgptn,
ID flgid,
UINT waiptn,
UINT wfmode
)
{
return E_OK;
}
/*
* twai_flg - Wait on Eventflag with Timeout
*/
ER twai_flg(
UINT *p_flgptn,
ID flgid,
UINT waiptn,
UINT wfmode,
TMO tmout
)
{
return E_OK;
}
/*
* ref_flg - Reference Eventflag Status
*/
ER ref_flg(
T_RFLG *pk_rflg,
ID flgid
)
{
return E_OK;
}

View File

@@ -1,47 +0,0 @@
/*
* 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$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <itron.h>
#include <assert.h>
#include <rtems/score/thread.h>
#include <rtems/score/userext.h>
#include <rtems/score/wkspace.h>
#include <rtems/score/apiext.h>
#include <rtems/score/sysstate.h>
#include <rtems/itron/task.h>
/*
* exd_tsk - Exit and Delete Task
*/
void exd_tsk( void )
{
Objects_Information *the_information;
_Thread_Disable_dispatch();
the_information = _Objects_Get_information( _Thread_Executing->Object.id );
/* This should never happen if _Thread_Get() works right */
assert( the_information );
_Thread_Set_state( _Thread_Executing, STATES_DORMANT );
_ITRON_Delete_task( _Thread_Executing );
_Thread_Enable_dispatch();
}

Some files were not shown because too many files have changed in this diff Show More