[llvm-commits] [llvm-gcc-4.2] r43913 [59/80] - in /llvm-gcc-4.2/trunk: boehm-gc/ boehm-gc/Mac_files/ boehm-gc/cord/ boehm-gc/doc/ boehm-gc/include/ boehm-gc/include/private/ boehm-gc/tests/ libffi/ libffi/include/ libffi/src/ libffi/src/alpha/ libffi/src/arm/ libffi/src/cris/ libffi/src/frv/ libffi/src/ia64/ libffi/src/m32r/ libffi/src/m68k/ libffi/src/mips/ libffi/src/pa/ libffi/src/powerpc/ libffi/src/s390/ libffi/src/sh/ libffi/src/sh64/ libffi/src/sparc/ libffi/src/x86/ libffi/testsuite/ libffi/testsuite/config/ li...

Bill Wendling isanbard at gmail.com
Thu Nov 8 14:57:11 PST 2007


Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/Makefile.in Thu Nov  8 16:56:19 2007
@@ -0,0 +1,456 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = native/target/Linux
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+	$(top_srcdir)/../../config/lead-dot.m4 \
+	$(top_srcdir)/../../config/multi.m4 \
+	$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
+	$(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+	$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
+CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
+CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
+CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
+CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@
+CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
+CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@
+CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
+ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
+FIND = @FIND@
+FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
+FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_CFLAGS = @GDK_CFLAGS@
+GDK_LIBS = @GDK_LIBS@
+GJDOC = @GJDOC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBMAGIC = @LIBMAGIC@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+MOC = @MOC@
+MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
+MOZILLA_LIBS = @MOZILLA_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PATH_TO_ESCHER = @PATH_TO_ESCHER@
+PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_DIR = @PLUGIN_DIR@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+USE_ESCHER_FALSE = @USE_ESCHER_FALSE@
+USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
+USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
+USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
+VERSION = @VERSION@
+VM_BINARY = @VM_BINARY@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+XTEST_LIBS = @XTEST_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+glibjdir = @glibjdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
+nativeexeclibdir = @nativeexeclibdir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+toolexeclibdir = @toolexeclibdir@
+vm_classes = @vm_classes@
+EXTRA_DIST = \
+target_native_io.h \
+target_native_misc.h \
+target_native.h \
+target_native_math_float.h \
+target_native_network.h \
+target_native_file.h \
+target_native_math_int.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  native/target/Linux/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  native/target/Linux/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target global defintions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE__
+#define __TARGET_NATIVE__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic.h"
+
+#endif /* __TARGET_NATIVE__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_file.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of file functions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE_FILE__
+#define __TARGET_NATIVE_FILE__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic_file.h"
+
+#endif /* __TARGET_NATIVE_FILE__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_io.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,78 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of miscellaneous functions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE_IO__
+#define __TARGET_NATIVE_IO__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic_io.h"
+
+#endif /* __TARGET_NATIVE_MISC__ */
+
+/* end of file */

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_float.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,80 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of float/double constants/
+             macros/functions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE_MATH_FLOAT__
+#define __TARGET_NATIVE_MATH_FLOAT__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic_math_float.h"
+
+#endif /* __TARGET_NATIVE_MATH_FLOAT__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_math_int.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,80 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of int/int64 constants/
+             macros/functions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE_MATH_INT__
+#define __TARGET_NATIVE_MATH_INT__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic_math_int.h"
+
+#endif /* __TARGET_NATIVE_MATH_INT__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_misc.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of miscellaneous functions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE_MISC__
+#define __TARGET_NATIVE_MISC__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic_misc.h"
+
+#endif /* __TARGET_NATIVE_MISC__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Linux/target_native_network.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* ???.h - ???
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: Linux target defintions of network functions
+Systems    : all
+*/
+
+#ifndef __TARGET_NATIVE_NETWORK__
+#define __TARGET_NATIVE_NETWORK__
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include <config.h>
+
+#include <stdlib.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* include rest of definitions from generic file (do not move it to 
+   another position!) */
+#include "target_generic_network.h"
+
+#endif /* __TARGET_NATIVE_NETWORK__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.am Thu Nov  8 16:56:19 2007
@@ -0,0 +1,5 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+SUBDIRS = Linux generic
+
+EXTRA_DIST = readme.txt

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/Makefile.in Thu Nov  8 16:56:19 2007
@@ -0,0 +1,606 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = native/target
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+	$(top_srcdir)/../../config/lead-dot.m4 \
+	$(top_srcdir)/../../config/multi.m4 \
+	$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
+	$(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+	$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
+CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
+CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
+CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
+CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@
+CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
+CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@
+CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
+ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
+FIND = @FIND@
+FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
+FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_CFLAGS = @GDK_CFLAGS@
+GDK_LIBS = @GDK_LIBS@
+GJDOC = @GJDOC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBMAGIC = @LIBMAGIC@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+MOC = @MOC@
+MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
+MOZILLA_LIBS = @MOZILLA_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PATH_TO_ESCHER = @PATH_TO_ESCHER@
+PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_DIR = @PLUGIN_DIR@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+USE_ESCHER_FALSE = @USE_ESCHER_FALSE@
+USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
+USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
+USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
+VERSION = @VERSION@
+VM_BINARY = @VM_BINARY@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+XTEST_LIBS = @XTEST_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+glibjdir = @glibjdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
+nativeexeclibdir = @nativeexeclibdir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+toolexeclibdir = @toolexeclibdir@
+vm_classes = @vm_classes@
+SUBDIRS = Linux generic
+EXTRA_DIST = readme.txt
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  native/target/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  native/target/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+	clean clean-generic clean-libtool clean-recursive ctags \
+	ctags-recursive distclean distclean-generic distclean-libtool \
+	distclean-recursive distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-libtool \
+	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.am Thu Nov  8 16:56:19 2007
@@ -0,0 +1,10 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+EXTRA_DIST = \
+target_generic_io.h \
+target_generic_misc.h \
+target_generic.h \
+target_generic_math_float.h \
+target_generic_network.h \
+target_generic_file.h \
+target_generic_math_int.h

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/Makefile.in Thu Nov  8 16:56:19 2007
@@ -0,0 +1,456 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = native/target/generic
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
+	$(top_srcdir)/../../config/lead-dot.m4 \
+	$(top_srcdir)/../../config/multi.m4 \
+	$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
+	$(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
+	$(top_srcdir)/m4/ax_create_stdint_h.m4 \
+	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/include/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_CLASS_FILES_FALSE = @BUILD_CLASS_FILES_FALSE@
+BUILD_CLASS_FILES_TRUE = @BUILD_CLASS_FILES_TRUE@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
+CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
+CLASSPATH_MODULE = @CLASSPATH_MODULE@
+COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
+CP = @CP@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CREATE_ALSA_LIBRARIES_FALSE = @CREATE_ALSA_LIBRARIES_FALSE@
+CREATE_ALSA_LIBRARIES_TRUE = @CREATE_ALSA_LIBRARIES_TRUE@
+CREATE_API_DOCS_FALSE = @CREATE_API_DOCS_FALSE@
+CREATE_API_DOCS_TRUE = @CREATE_API_DOCS_TRUE@
+CREATE_COLLECTIONS_FALSE = @CREATE_COLLECTIONS_FALSE@
+CREATE_COLLECTIONS_TRUE = @CREATE_COLLECTIONS_TRUE@
+CREATE_CORE_JNI_LIBRARIES_FALSE = @CREATE_CORE_JNI_LIBRARIES_FALSE@
+CREATE_CORE_JNI_LIBRARIES_TRUE = @CREATE_CORE_JNI_LIBRARIES_TRUE@
+CREATE_DSSI_LIBRARIES_FALSE = @CREATE_DSSI_LIBRARIES_FALSE@
+CREATE_DSSI_LIBRARIES_TRUE = @CREATE_DSSI_LIBRARIES_TRUE@
+CREATE_GCONF_PEER_LIBRARIES_FALSE = @CREATE_GCONF_PEER_LIBRARIES_FALSE@
+CREATE_GCONF_PEER_LIBRARIES_TRUE = @CREATE_GCONF_PEER_LIBRARIES_TRUE@
+CREATE_GTK_PEER_LIBRARIES_FALSE = @CREATE_GTK_PEER_LIBRARIES_FALSE@
+CREATE_GTK_PEER_LIBRARIES_TRUE = @CREATE_GTK_PEER_LIBRARIES_TRUE@
+CREATE_JNI_HEADERS_FALSE = @CREATE_JNI_HEADERS_FALSE@
+CREATE_JNI_HEADERS_TRUE = @CREATE_JNI_HEADERS_TRUE@
+CREATE_JNI_LIBRARIES_FALSE = @CREATE_JNI_LIBRARIES_FALSE@
+CREATE_JNI_LIBRARIES_TRUE = @CREATE_JNI_LIBRARIES_TRUE@
+CREATE_PLUGIN_FALSE = @CREATE_PLUGIN_FALSE@
+CREATE_PLUGIN_TRUE = @CREATE_PLUGIN_TRUE@
+CREATE_QT_PEER_LIBRARIES_FALSE = @CREATE_QT_PEER_LIBRARIES_FALSE@
+CREATE_QT_PEER_LIBRARIES_TRUE = @CREATE_QT_PEER_LIBRARIES_TRUE@
+CREATE_WRAPPERS_FALSE = @CREATE_WRAPPERS_FALSE@
+CREATE_WRAPPERS_TRUE = @CREATE_WRAPPERS_TRUE@
+CREATE_XMLJ_LIBRARY_FALSE = @CREATE_XMLJ_LIBRARY_FALSE@
+CREATE_XMLJ_LIBRARY_TRUE = @CREATE_XMLJ_LIBRARY_TRUE@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATE = @DATE@
+DEFAULT_PREFS_PEER = @DEFAULT_PREFS_PEER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+EGREP = @EGREP@
+ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
+ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+EXAMPLESDIR = @EXAMPLESDIR@
+EXEEXT = @EXEEXT@
+FASTJAR = @FASTJAR@
+FIND = @FIND@
+FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
+FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
+FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
+FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
+FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
+FOUND_GCJ_FALSE = @FOUND_GCJ_FALSE@
+FOUND_GCJ_TRUE = @FOUND_GCJ_TRUE@
+FOUND_JIKES_FALSE = @FOUND_JIKES_FALSE@
+FOUND_JIKES_TRUE = @FOUND_JIKES_TRUE@
+FOUND_KJC_FALSE = @FOUND_KJC_FALSE@
+FOUND_KJC_TRUE = @FOUND_KJC_TRUE@
+FREETYPE2_CFLAGS = @FREETYPE2_CFLAGS@
+FREETYPE2_LIBS = @FREETYPE2_LIBS@
+GCJ = @GCJ@
+GCJX = @GCJX@
+GCONF_CFLAGS = @GCONF_CFLAGS@
+GCONF_LIBS = @GCONF_LIBS@
+GDK_CFLAGS = @GDK_CFLAGS@
+GDK_LIBS = @GDK_LIBS@
+GJDOC = @GJDOC@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+INIT_LOAD_LIBRARY = @INIT_LOAD_LIBRARY@
+INSTALL_CLASS_FILES_FALSE = @INSTALL_CLASS_FILES_FALSE@
+INSTALL_CLASS_FILES_TRUE = @INSTALL_CLASS_FILES_TRUE@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_GLIBJ_ZIP_FALSE = @INSTALL_GLIBJ_ZIP_FALSE@
+INSTALL_GLIBJ_ZIP_TRUE = @INSTALL_GLIBJ_ZIP_TRUE@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = @JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@
+JAY = @JAY@
+JAY_SKELETON = @JAY_SKELETON@
+JIKES = @JIKES@
+JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
+KJC = @KJC@
+LDFLAGS = @LDFLAGS@
+LIBDEBUG = @LIBDEBUG@
+LIBICONV = @LIBICONV@
+LIBMAGIC = @LIBMAGIC@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBVERSION = @LIBVERSION@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+MKDIR = @MKDIR@
+MOC = @MOC@
+MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
+MOZILLA_LIBS = @MOZILLA_LIBS@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
+PANGOFT2_LIBS = @PANGOFT2_LIBS@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PATH_TO_ESCHER = @PATH_TO_ESCHER@
+PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGIN_DIR = @PLUGIN_DIR@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+RANLIB = @RANLIB@
+REGEN_PARSERS_FALSE = @REGEN_PARSERS_FALSE@
+REGEN_PARSERS_TRUE = @REGEN_PARSERS_TRUE@
+REMOVE = @REMOVE@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRICT_WARNING_CFLAGS = @STRICT_WARNING_CFLAGS@
+STRIP = @STRIP@
+USER_CLASSLIB = @USER_CLASSLIB@
+USER_JAVAH = @USER_JAVAH@
+USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
+USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
+USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
+USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
+USE_ESCHER_FALSE = @USE_ESCHER_FALSE@
+USE_ESCHER_TRUE = @USE_ESCHER_TRUE@
+USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
+USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
+VERSION = @VERSION@
+VM_BINARY = @VM_BINARY@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+XML_CFLAGS = @XML_CFLAGS@
+XML_LIBS = @XML_LIBS@
+XSLT_CFLAGS = @XSLT_CFLAGS@
+XSLT_LIBS = @XSLT_LIBS@
+XTEST_LIBS = @XTEST_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+ZIP = @ZIP@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+default_toolkit = @default_toolkit@
+exec_prefix = @exec_prefix@
+glibjdir = @glibjdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+multi_basedir = @multi_basedir@
+nativeexeclibdir = @nativeexeclibdir@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+toolexeclibdir = @toolexeclibdir@
+vm_classes = @vm_classes@
+EXTRA_DIST = \
+target_generic_io.h \
+target_generic_misc.h \
+target_generic.h \
+target_generic_math_float.h \
+target_generic_network.h \
+target_generic_file.h \
+target_generic_math_int.h
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  native/target/generic/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  native/target/generic/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,171 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target global defintions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC__
+#define __TARGET_GENERIC__
+
+/* check if target_native_network.h included */
+#ifndef __TARGET_NATIVE__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <errno.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+#define TARGET_NATIVE_OK    1
+#define TARGET_NATIVE_ERROR 0
+
+#ifndef TARGET_NATIVE_ERROR_PERMISION_DENIED
+  #define TARGET_NATIVE_ERROR_PERMISION_DENIED        EACCES
+#endif
+#ifndef TARGET_NATIVE_ERROR_BAD_FILE_DESCRIPTOR
+  #define TARGET_NATIVE_ERROR_BAD_FILE_DESCRIPTOR     EBADF
+#endif
+#ifndef TARGET_NATIVE_ERROR_FILE_EXISTS
+  #define TARGET_NATIVE_ERROR_FILE_EXISTS             EEXIST
+#endif
+#ifndef TARGET_NATIVE_ERROR_INPUT_OUTPUT
+  #define TARGET_NATIVE_ERROR_INPUT_OUTPUT            EIO
+#endif
+#ifndef TARGET_NATIVE_ERROR_TOO_MANY_OPEN_FILES
+  #define TARGET_NATIVE_ERROR_TOO_MANY_OPEN_FILES     EMFILE
+#endif
+#ifndef TARGET_NATIVE_ERROR_FILENAME_TO_LONG
+  #define TARGET_NATIVE_ERROR_FILENAME_TO_LONG        ENAMETOOLONG
+#endif
+#ifndef TARGET_NATIVE_ERROR_NO_SUCH_DEVICE
+  #define TARGET_NATIVE_ERROR_NO_SUCH_DEVICE          ENODEV
+#endif
+#ifndef TARGET_NATIVE_ERROR_NO_SUCH_FILE
+  #define TARGET_NATIVE_ERROR_NO_SUCH_FILE            ENOENT
+#endif
+#ifndef TARGET_NATIVE_ERROR_NO_SPACE_LEFT
+  #define TARGET_NATIVE_ERROR_NO_SPACE_LEFT           ENOSPC
+#endif
+#ifndef TARGET_NATIVE_ERROR_DIRECTORY_NOT_EMPTY
+  #define TARGET_NATIVE_ERROR_DIRECTORY_NOT_EMPTY     ENOTEMPTY
+#endif
+#ifndef TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED
+  #define TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED EPERM
+#endif
+#ifndef TARGET_NATIVE_ERROR_READ_ONLY_FILE_SYSTEM
+  #define TARGET_NATIVE_ERROR_READ_ONLY_FILE_SYSTEM   EROFS
+#endif
+#ifndef TARGET_NATIVE_ERROR_INVALID_SEEK
+  #define TARGET_NATIVE_ERROR_INVALID_SEEK            ESPIPE
+#endif
+#ifndef TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL
+  #define TARGET_NATIVE_ERROR_INTERRUPT_FUNCTION_CALL EINTR
+#endif
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_LAST_ERROR
+* Purpose    : return last error code
+* Input      : -
+* Output     : -
+* Return     : error code
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_LAST_ERROR
+  #include <errno.h>
+  #define TARGET_NATIVE_LAST_ERROR() \
+    errno
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_LAST_ERROR_STRING
+* Purpose    : return last error string
+* Input      : -
+* Output     : -
+* Return     : error string (read only!)
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_LAST_ERROR_STRING
+  #include <string.h>
+  #include <errno.h>
+  #define TARGET_NATIVE_LAST_ERROR_STRING() \
+    strerror(errno)
+#endif
+
+#ifndef TARGET_NATIVE_LAST_ERROR_STRING_FORMAT
+  #include <string.h>
+  #include <errno.h>
+  #define TARGET_NATIVE_LAST_ERROR_STRING_FORMAT(buffer,bufferSize,format) \
+    do { \
+      sprintf(buffer, "%s", format); \
+      strcat(" (error: "); \
+      strcat(strerror(errno)); \
+      strcat(")"); \
+    } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_file.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,844 @@
+/* target_generic_file - Native methods for file operations
+   Copyright (C) 1998, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of file functions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC_FILE__
+#define __TARGET_GENERIC_FILE__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* check if target_native_file.h included */
+#ifndef __TARGET_NATIVE_FILE__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+#include <fcntl.h>
+
+#include "target_native.h"
+#include "target_native_math_int.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_NONE
+  #define TARGET_NATIVE_FILE_FILEFLAG_NONE 0
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_CREATE
+  #define TARGET_NATIVE_FILE_FILEFLAG_CREATE O_CREAT
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE
+  #define TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE (O_CREAT|O_EXCL)
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_READ
+  #define TARGET_NATIVE_FILE_FILEFLAG_READ O_RDONLY
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_WRITE
+  #define TARGET_NATIVE_FILE_FILEFLAG_WRITE O_WRONLY
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_READWRITE
+  #define TARGET_NATIVE_FILE_FILEFLAG_READWRITE O_RDWR
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE
+  #define TARGET_NATIVE_FILE_FILEFLAG_TRUNCATE O_TRUNC
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_APPEND
+  #define TARGET_NATIVE_FILE_FILEFLAG_APPEND O_APPEND
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_SYNC
+  #if !defined (O_SYNC) && defined (O_FSYNC)
+    #define TARGET_NATIVE_FILE_FILEFLAG_SYNC O_FSYNC
+  #else
+    #define TARGET_NATIVE_FILE_FILEFLAG_SYNC O_SYNC
+  #endif
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_DSYNC
+  #ifdef O_DSYNC
+    #define TARGET_NATIVE_FILE_FILEFLAG_DSYNC 0
+  #else
+    #define TARGET_NATIVE_FILE_FILEFLAG_DSYNC TARGET_NATIVE_FILE_FILEFLAG_SYNC
+  #endif
+#endif
+#ifndef TARGET_NATIVE_FILE_FILEFLAG_BINARY
+  #define TARGET_NATIVE_FILE_FILEFLAG_BINARY O_BINARY
+#endif
+
+#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL
+  #define TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)
+#endif
+
+#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_PRIVATE 
+  #define TARGET_NATIVE_FILE_FILEPERMISSION_PRIVATE (S_IRUSR | S_IWUSR)
+#endif
+
+#ifndef TARGET_NATIVE_FILE_FILEPERMISSION_READONLY
+  #define TARGET_NATIVE_FILE_FILEPERMISSION_READONLY (~(S_IWRITE|S_IWGRP|S_IWOTH))
+#endif
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN
+* Purpose    : open a file
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <fcntl.h>
+  #define TARGET_NATIVE_FILE_OPEN(filename,filedescriptor,flags,permissions,result) \
+    do { \
+      filedescriptor=open(filename, \
+                          flags, \
+                          permissions \
+                          ); \
+      if (filedescriptor >= 0) \
+        fcntl (filedescriptor,F_SETFD,FD_CLOEXEC); \
+      result=(filedescriptor>=0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+   } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN_CREATE
+* Purpose    : create a file
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_CREATE
+  #define TARGET_NATIVE_FILE_OPEN_CREATE(filename,filedescriptor,result) \
+    TARGET_NATIVE_FILE_OPEN(filename,\
+                            filedescriptor,\
+                            TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE, \
+                            TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+                            result \
+                           )
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN_READ
+* Purpose    : open an existing file for reading
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_READ
+  #define TARGET_NATIVE_FILE_OPEN_READ(filename,filedescriptor,result) \
+    TARGET_NATIVE_FILE_OPEN(filename, \
+                            filedescriptor,\
+                            TARGET_NATIVE_FILE_FILEFLAG_READ, \
+                            TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+                            result \
+                           )
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN_WRITE
+* Purpose    : open an existing file for writing
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_WRITE
+  #define TARGET_NATIVE_FILE_OPEN_WRITE(filename,filedescriptor,result) \
+    TARGET_NATIVE_FILE_OPEN(filename, \
+                            filedescriptor, \
+                            TARGET_NATIVE_FILE_FILEFLAG_WRITE, \
+                            TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+                            result \
+                           )
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN_READWRITE
+* Purpose    : create/open a file for reading/writing
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_READWRITE
+  #define TARGET_NATIVE_FILE_OPEN_READWRITE(filename,filedescriptor,result) \
+    TARGET_NATIVE_FILE_OPEN(filename, \
+                            filedescriptor, \
+                            TARGET_NATIVE_FILE_FILEFLAG_READWRITE, \
+                            TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+                            result \
+                           )
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN_READWRITE
+* Purpose    : create/open a file for append
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : file is created if it does not exist
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_APPEND
+  #define TARGET_NATIVE_FILE_OPEN_APPEND(filename,filedescriptor,result) \
+    TARGET_NATIVE_FILE_OPEN_APPEND(filename, \
+                                   filedescriptor, \
+                                   TARGET_NATIVE_FILE_FILEFLAG_CREATE_FORCE|TARGET_NATIVE_FILE_FILEFLAG_APPEND, \
+                                   TARGET_NATIVE_FILE_FILEPERMISSION_NORMAL, \
+                                   result \
+                                  )
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_CLOSE
+* Purpose    : close a file
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_CLOSE
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_CLOSE(filedescriptor,result) \
+    do  { \
+      result=(close(filedescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+   } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR
+* Purpose    : check if file-descriptor is valid
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR
+  #if   defined(HAVE_FCNTL)
+    #include <unistd.h>
+    #include <fcntl.h>
+    #define TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR(filedescriptor,result) \
+      do { \
+        result=(fcntl(filedescriptor,F_GETFL,0)!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      } while(0)
+  #elif defined(HAVE_FSTAT)
+    #include <sys/types.h>
+    #include <sys/stat.h>
+    #include <unistd.h>
+    #define TARGET_NATIVE_FILE_VALID_FILE_DESCRIPTOR(filedescriptor,result) \
+      do { \
+        struct stat __stat; \
+        \
+        result=(fstat(filedescriptor,&__stat)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      } while(0)
+  #else
+    #error fcntl() nor fstat() available for checking if file descriptor is valid
+  #endif
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_TELL
+* Purpose    : get current file position
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_TELL
+  #include <sys/types.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_TELL(filedescriptor,offset,result) \
+    do { \
+      offset=lseek(filedescriptor,TARGET_NATIVE_MATH_INT_INT64_CONST_0,SEEK_CUR); \
+      result=((offset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_SEEK_BEGIN|CURRENT|END
+* Purpose    : set file position relativ to begin/current/end
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SEEK_BEGIN
+  #include <sys/types.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_SEEK_BEGIN(filedescriptor,offset,newoffset,result) \
+    do { \
+      newoffset=lseek(filedescriptor,offset,SEEK_SET); \
+      result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_FILE_SEEK_CURRENT
+  #include <sys/types.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_SEEK_CURRENT(filedescriptor,offset,newoffset,result) \
+    do { \
+      newoffset=lseek(filedescriptor,offset,SEEK_CUR); \
+      result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_FILE_SEEK_END
+  #include <sys/types.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_SEEK_END(filedescriptor,offset,newoffset,result) \
+    do { \
+      newoffset=lseek(filedescriptor,offset,SEEK_END); \
+      result=((newoffset)!=(off_t)-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_TRUNCATE
+* Purpose    : truncate a file
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_TRUNCATE
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_TRUNCATE(filedescriptor,offset,result) \
+    do { \
+      result=(ftruncate(filedescriptor,offset)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_SIZE
+* Purpose    : get size of file (in bytes)
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SIZE
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_SIZE(filedescriptor,length,result) \
+    do { \
+      struct stat __statBuffer; \
+      \
+      result=(fstat(filedescriptor,&__statBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_size); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_AVAILABLE
+* Purpose    : get available bytes for read
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_AVAILABLE
+  #ifdef HAVE_SYS_IOCTL_H
+    #define BSD_COMP /* Get FIONREAD on Solaris2 */
+    #include <sys/ioctl.h>
+  #endif
+  #ifdef HAVE_SYS_FILIO_H /* Get FIONREAD on Solaris 2.5 */
+    #include <sys/filio.h>
+  #endif
+  #if defined (FIONREAD)
+    #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+      do { \
+        ssize_t __n; \
+        \
+        result=(ioctl(filedescriptor,FIONREAD,(char*)&__n)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+        length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__n); \
+      } while (0)
+  #elif defined(HAVE_FSTAT)
+    #include <sys/types.h>
+    #include <sys/stat.h>
+    #include <unistd.h>
+    #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+      do { \
+        struct stat __statBuffer; \
+        off_t       __n; \
+        \
+        length=0; \
+        \
+        if ((fstat(filedescriptor,&__statBuffer)==0) && S_ISREG(__statBuffer.st_mode)) \
+        { \
+          __n=(lseek(filedescriptor,0,SEEK_CUR)); \
+          if (__n!=-1) \
+          { \
+            length=TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_size-__n); \
+            result=TARGET_NATIVE_OK; \
+          } \
+          else \
+          { \
+            result=TARGET_NATIVE_ERROR; \
+          } \
+        } \
+        else \
+        { \
+          result=TARGET_NATIVE_ERROR; \
+        } \
+      } while (0)
+  #elif defined(HAVE_SELECT)
+    #include <string.h>
+    #include <sys/select.h>
+    #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+      do { \
+        fd_set         __filedescriptset; \
+        struct timeval __timeval; \
+        \
+        length=0; \
+        \
+        FD_ZERO(&__filedescriptset); \
+        FD_SET(filedescriptor,&__filedescriptset); \
+        memset(&__timeval,0,sizeof(__timeval)); \
+        switch (select(filedescriptor+1,&__filedescriptset,NULL,NULL,&__timeval)==0) \
+        { \
+          case -1: result=TARGET_NATIVE_ERROR; break; \
+          case  0: length=JNI_JLONG_CONST_0; result=TARGET_NATIVE_OK; break; \
+          default: length=JNI_JLONG_CONST_1; result=TARGET_NATIVE_OK; break; \
+        } \
+      } while (0)
+  #else
+    #define TARGET_NATIVE_FILE_AVAILABLE(filedescriptor,length,result) \
+      do { \
+        errno=TARGET_NATIVE_ERROR_OPERATION_NOT_PERMITTED; \
+        length=0; \
+        result=TARGET_NATIVE_ERROR; \
+      } while (0)
+  #endif
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_READ|WRITE
+* Purpose    : read/write from/to frile
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_READ
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_READ(filedescriptor,buffer,length,bytesRead,result) \
+    do { \
+      bytesRead=read(filedescriptor,buffer,length); \
+      result=(bytesRead!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_FILE_WRITE
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_WRITE(filedescriptor,buffer,length,bytesWritten,result) \
+    do { \
+      bytesWritten=write(filedescriptor,buffer,length); \
+      result=(bytesWritten!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_SET_MODE_READONLY
+* Purpose    : set file mode to read-only
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SET_MODE_READONLY
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_SET_MODE_READONLY(filename,result) \
+    do { \
+      struct stat __statBuffer; \
+      \
+      if (stat(filename,&__statBuffer)==0) { \
+        result=(chmod(filename,__statBuffer.st_mode & TARGET_NATIVE_FILE_FILEPERMISSION_READONLY)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      } else { \
+        result=TARGET_NATIVE_ERROR; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_EXISTS
+* Purpose    : check if file exists
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_EXISTS
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_EXISTS(filename,result) \
+    do { \
+      struct stat __statBuffer; \
+      \
+      result=(stat(filename,&__statBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_IS_FILE
+* Purpose    : check if directory entry is a file
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_IS_FILE
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_IS_FILE(filename,result) \
+    do { \
+      struct stat __statBuffer; \
+      \
+      result=((stat(filename,&__statBuffer)==0) && (S_ISREG(__statBuffer.st_mode)))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_IS_DIRECTORY
+* Purpose    : check if directory entry is a directory
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_IS_DIRECTORY
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_IS_DIRECTORY(filename,result) \
+    do { \
+      struct stat __statBuffer; \
+      \
+      result=((stat(filename,&__statBuffer)==0) && (S_ISDIR(__statBuffer.st_mode)))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_GET_LAST_MODIFIED
+* Purpose    : get last modification time of file (milliseconds)
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_GET_LAST_MODIFIED
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_GET_LAST_MODIFIED(filename,time,result) \
+    do { \
+      struct stat __statBuffer; \
+      \
+      time=TARGET_NATIVE_MATH_INT_INT64_CONST_0; \
+      if (stat(filename,&__statBuffer)==0) { \
+        time=TARGET_NATIVE_MATH_INT_INT64_MUL(TARGET_NATIVE_MATH_INT_INT32_TO_INT64(__statBuffer.st_mtime), \
+                                              TARGET_NATIVE_MATH_INT_INT32_TO_INT64(1000) \
+                                             ); \
+        result=TARGET_NATIVE_OK; \
+      } else { \
+        result=TARGET_NATIVE_ERROR; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_SET_LAST_MODIFIED
+* Purpose    : set last modification time of file (milliseconds)
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_SET_LAST_MODIFIED
+  #include <sys/types.h>
+  #include <sys/stat.h>
+  #include <unistd.h>
+  #ifdef HAVE_UTIME_H
+    #include <utime.h>
+  #elif HAVE_SYS_UTIME_H
+    #include <sys/utime.h>
+  #else
+    #error utime.h not found. Please check configuration.
+  #endif
+  #define TARGET_NATIVE_FILE_SET_LAST_MODIFIED(filename,time,result) \
+    do { \
+      struct stat    __statBuffer; \
+      struct utimbuf __utimeBuffer; \
+      \
+      if (stat(filename,&__statBuffer)==0) { \
+        __utimeBuffer.actime =__statBuffer.st_atime; \
+        __utimeBuffer.modtime=TARGET_NATIVE_MATH_INT_INT64_TO_INT32(TARGET_NATIVE_MATH_INT_INT64_DIV(time, \
+                                                                                                     TARGET_NATIVE_MATH_INT_INT32_TO_INT64(1000) \
+                                                                                                    ) \
+                                                              ); \
+        result=(utime(filename,&__utimeBuffer)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      } else { \
+        result=TARGET_NATIVE_ERROR; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_DELETE
+* Purpose    : delete a file,link or directory
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_DELETE
+  #define TARGET_NATIVE_FILE_DELETE(filename,result) \
+    do { \
+      result=((unlink(filename)==0) || (rmdir(filename)==0))?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_RENAME
+* Purpose    : delete a file, link or directory
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_RENAME
+  #define TARGET_NATIVE_FILE_RENAME(oldfilename,newfilename,result) \
+    do { \
+      result=(rename(oldfilename,newfilename)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_MAKE_DIR
+* Purpose    : create new directory
+* Input      : name - directory name
+* Output     : result - 1 if successful, 0 otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_MAKE_DIR
+  #include <sys/stat.h>
+  #define TARGET_NATIVE_FILE_MAKE_DIR(name,result) \
+    do { \
+      result=((mkdir(name,(S_IRWXO|S_IRWXG|S_IRWXU))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_GET_CWD
+* Purpose    : get current working directory
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_GET_CWD
+  #include <unistd.h>
+  #define TARGET_NATIVE_FILE_GET_CWD(path,maxPathLength,result) \
+    do {\
+      result=(getcwd(path,maxPathLength)!=NULL)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_OPEN_DIR
+* Purpose    : open directory for reading entries. 
+* Input      : -
+* Output     : handle - handle if not error, NULL otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_OPEN_DIR
+  #include <sys/types.h>
+  #include <dirent.h>
+  #define TARGET_NATIVE_FILE_OPEN_DIR(filename,handle,result) \
+    do { \
+      handle=(void*)opendir(filename); \
+      result=(handle!=NULL)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while(0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_CLOSE_DIR
+* Purpose    : close directory
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_CLOSE_DIR
+  #include <sys/types.h>
+  #include <dirent.h>
+  #define TARGET_NATIVE_FILE_CLOSE_DIR(handle,result) \
+    do { \
+      closedir((DIR*)handle); \
+      result=TARGET_NATIVE_OK; \
+    }  while(0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_READ_DIR
+* Purpose    : read directory entry
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+/* XXX ??? name als buffer? */
+#ifndef TARGET_NATIVE_FILE_READ_DIR
+  #include <sys/types.h>
+  #include <dirent.h>
+  #define TARGET_NATIVE_FILE_READ_DIR(handle,name,result) \
+    do { \
+      struct dirent *__direntBuffer; \
+      \
+      name=NULL; \
+      \
+      __direntBuffer=readdir((DIR*)handle); \
+      if (__direntBuffer!=NULL) { \
+        name=__direntBuffer->d_name; \
+        result=TARGET_NATIVE_OK; \
+      } else { \
+        result=TARGET_NATIVE_ERROR; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FILE_FSYNC
+* Purpose    : do filesystem sync
+* Input      : -
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_FILE_FSYNC
+  #define TARGET_NATIVE_FILE_FSYNC(filedescriptor,result) \
+    do { \
+      result=(fsync(filedescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while(0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_FILE__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_io.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,82 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of miscellaneous functions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC_IO__
+#define __TARGET_GENERIC_IO__
+
+/* check if target_native_io.h included */
+#ifndef __TARGET_NATIVE_IO__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+#include "target_native.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_IO__ */
+
+/* end of file */

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_float.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,130 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of float/double constants/
+             macros/functions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC_MATH_FLOAT__
+#define __TARGET_GENERIC_MATH_FLOAT__
+
+/* check if target_native_math_float.h included */
+#ifndef __TARGET_NATIVE_MATH_FLOAT__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+#include <jni.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/* test float/double values for NaN,Inf */
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_ISNAN
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_FLOAT_ISNAN(f) isnan(f)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_ISINF
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_FLOAT_ISINF(f) isinf(f)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_FLOAT_FINITE(f) finite(f)
+#endif
+
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISNAN
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISNAN(d) isnan(d)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISINF
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_ISINF(d) isinf(d)
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_FINITE(d) finite(d)
+#endif
+
+/* division, modulo operations (used to avoid unexcepted exceptions on some
+   targets; generic codes are direct operations without checks)
+*/
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_DIV
+  #define TARGET_NATIVE_MATH_FLOAT_FLOAT_DIV(f0,f1) ((f0)/(f1))
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_FLOAT_MOD
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_FLOAT_MOD(f0,f1) ((jfloat)fmod((jdouble)(f0),(jdouble)(f1)))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_DIV
+  #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_DIV(d0,d1) ((d0)/(d1))
+#endif
+#ifndef TARGET_NATIVE_MATH_FLOAT_DOUBLE_MOD
+  #include <math.h>
+  #define TARGET_NATIVE_MATH_FLOAT_DOUBLE_MOD(d0,d1) fmod(d0,d1)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_MATH_FLOAT__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_math_int.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,260 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of int/int64 constants/
+             macros/functions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC_MATH_INT__
+#define __TARGET_GENERIC_MATH_INT__
+
+/* check if target_native_math_int.h included */
+#ifndef __TARGET_NATIVE_MATH_INT__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_0
+  #define TARGET_NATIVE_MATH_INT_INT64_CONST_0 0LL
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_1
+  #define TARGET_NATIVE_MATH_INT_INT64_CONST_1 1LL
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1
+  #define TARGET_NATIVE_MATH_INT_INT64_CONST_MINUS_1 -1LL
+#endif
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/* math operations */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_ADD
+  #define TARGET_NATIVE_MATH_INT_INT64_ADD(v1,v2) ((v1)+(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_SUB
+  #define TARGET_NATIVE_MATH_INT_INT64_SUB(v1,v2) ((v1)-(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_MUL
+  #define TARGET_NATIVE_MATH_INT_INT64_MUL(v1,v2) ((v1)*(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_DIV
+  #define TARGET_NATIVE_MATH_INT_INT64_DIV(v1,v2) ((v1)/(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_MOD
+  #define TARGET_NATIVE_MATH_INT_INT64_MOD(v1,v2) ((v1)%(v2))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_ADD
+  #define TARGET_NATIVE_MATH_INT_UINT64_ADD(v1,v2) ((v1)+(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_SUB
+  #define TARGET_NATIVE_MATH_INT_UINT64_SUB(v1,v2) ((v1)-(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_MUL
+  #define TARGET_NATIVE_MATH_INT_UINT64_MUL(v1,v2) ((v1)*(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_DIV
+  #define TARGET_NATIVE_MATH_INT_UINT64_DIV(v1,v2) ((v1)/(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_MOD
+  #define TARGET_NATIVE_MATH_INT_UINT64_MOD(v1,v2) ((v1)%(v2))
+#endif
+
+/* bit operations */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_AND
+  #define TARGET_NATIVE_MATH_INT_INT64_AND(v1,v2) ((v1)&(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_OR
+  #define TARGET_NATIVE_MATH_INT_INT64_OR(v1,v2)  ((v1)|(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_XOR
+  #define TARGET_NATIVE_MATH_INT_INT64_XOR(v1,v2) ((v1)^(v2))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_AND
+  #define TARGET_NATIVE_MATH_INT_UINT64_AND(v1,v2) ((v1)&(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_OR
+  #define TARGET_NATIVE_MATH_INT_UINT64_OR(v1,v2)  ((v1)|(v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_XOR
+  #define TARGET_NATIVE_MATH_INT_UINT64_XOR(v1,v2) ((v1)^(v2))
+#endif
+
+/* shift operations */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_SHIFTL
+  #define TARGET_NATIVE_MATH_INT_INT64_SHIFTL(v,l)  ((v)<<(l))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_SHIFTR
+  #define TARGET_NATIVE_MATH_INT_INT64_SHIFTR(v,l)  (((v)>>(l)) |  (((v)>=0) ? 0 : (0xffffFFFFffffFFFFLL << (64-(l)))))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_SHIFTR
+  #define TARGET_NATIVE_MATH_INT_UINT64_SHIFTR(v,l) (((v)>>(l)) & ~(((v)>=0) ? 0 : (0xffffFFFFffffFFFFLL << (64-(l)))))
+#endif
+
+/* negation */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_NEG
+  #define TARGET_NATIVE_MATH_INT_INT64_NEG(v) (-(v))
+#endif
+
+/* increment/decrement routines */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_INC
+  #define TARGET_NATIVE_MATH_INT_INT64_INC(v) { v++; } 
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_DEC
+  #define TARGET_NATIVE_MATH_INT_INT64_DEC(v) { v--; }
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_INC
+  #define TARGET_NATIVE_MATH_INT_UINT64_INC(v) { v++; }
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_DEC
+  #define TARGET_NATIVE_MATH_INT_UINT64_DEC(v) { v--; } 
+#endif
+
+/* comparison routines */
+#ifndef TARGET_NATIVE_MATH_INT_INT64_EQ
+  #define TARGET_NATIVE_MATH_INT_INT64_EQ(v1,v2) ((v1) == (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_NE
+  #define TARGET_NATIVE_MATH_INT_INT64_NE(v1,v2) ((v1) != (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_LT
+  #define TARGET_NATIVE_MATH_INT_INT64_LT(v1,v2) ((v1) <  (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_LE
+  #define TARGET_NATIVE_MATH_INT_INT64_LE(v1,v2) ((v1) <= (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_GT
+  #define TARGET_NATIVE_MATH_INT_INT64_GT(v1,v2) ((v1) >  (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_GE
+  #define TARGET_NATIVE_MATH_INT_INT64_GE(v1,v2) ((v1) >= (v2))
+#endif
+
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_EQ
+  #define TARGET_NATIVE_MATH_INT_UINT64_EQ(v1,v2) ((v1) == (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_NE
+  #define TARGET_NATIVE_MATH_INT_UINT64_NE(v1,v2) ((v1) != (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_LT
+  #define TARGET_NATIVE_MATH_INT_UINT64_LT(v1,v2) ((v1) <  (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_LE
+  #define TARGET_NATIVE_MATH_INT_UINT64_LE(v1,v2) ((v1) <= (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_GT
+  #define TARGET_NATIVE_MATH_INT_UINT64_GT(v1,v2) ((v1) >  (v2))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_GE
+  #define TARGET_NATIVE_MATH_INT_UINT64_GE(v1,v2) ((v1) >= (v2))
+#endif
+
+/* type conversion routines */
+#ifndef TARGET_NATIVE_MATH_INT_INT32_TO_INT64
+  #define TARGET_NATIVE_MATH_INT_INT32_TO_INT64(v)   ((jlong)(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT32_TO_UINT64
+  #define TARGET_NATIVE_MATH_INT_UINT32_TO_UINT64(v) ((jlong)(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32
+  #define TARGET_NATIVE_MATH_INT_INT64_TO_INT32(v)   ((jint )(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32
+  #define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32(v) ((jint)(v))
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE
+  #define TARGET_NATIVE_MATH_INT_INT64_TO_DOUBLE(v)  ((jdouble)(v))
+#endif
+
+/* combine/split int32 low/high values <-> int64 values */
+#ifndef TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64
+  #define TARGET_NATIVE_MATH_INT_INT32_LOW_HIGH_TO_INT64(low,high,v) \
+    do { \
+      (v)=((((jlong)(high)) << 32) | ((((jlong)(low)) <<  0) & 0x00000000ffffFFFFLL)); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64
+  #define TARGET_NATIVE_MATH_INT_UINT32_LOW_HIGH_TO_UINT64(low,high,v) \
+    do { \
+      (v)=((((jlong)(high)) << 32) | ((((jlong)(low)) <<  0) & 0x00000000ffffFFFFLL)); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH
+  #define TARGET_NATIVE_MATH_INT_INT64_TO_INT32_LOW_HIGH(v,low,high) \
+    do { \
+      (high)=((v) & 0xFFFFffff00000000L) >> 32; \
+      (low) =((v) & 0x00000000FFFFffffL) >>  0; \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH
+  #define TARGET_NATIVE_MATH_INT_UINT64_TO_UINT32_LOW_HIGH(v,low,high) \
+    do { \
+      (high)=((v) & 0xFFFFffff00000000L) >> 32; \
+      (low) =((v) & 0x00000000FFFFffffL) >>  0; \
+    } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_MATH_INT__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_misc.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,203 @@
+/* generic_math_int64.h - Native methods for 64bit math operations
+   Copyright (C) 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of miscellaneous functions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC_MISC__
+#define __TARGET_GENERIC_MISC__
+
+/* check if target_native_misc.h included */
+#ifndef __TARGET_NATIVE_MISC__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+#include <assert.h>
+
+#include "target_native.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_MISC_FORMAT_STRING<n>
+* Purpose    : format a string (with a fixed number of) arguments
+* Input      : buffer     - buffer for string
+*              bufferSize - size of buffer
+*              format     - format string (like printf)
+*              args       - optional arguments (GNU CPP only!)
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : - this is a "safe" macro to format string; buffer-
+*                overflows will be avoided. Direct usage of e. g.
+*                snprintf() is not permitted because it is not ANSI C
+*                (not portable!)
+*              - do not use this routine in a function without
+*                variable number of arguments (ellipses), because
+*                va_list/va_start/va_end is used!
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING0
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING0(buffer,bufferSize,format) \
+    do { \
+      snprintf(buffer,bufferSize, "%s", format); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING1
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING1(buffer,bufferSize,format,arg1) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING2
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING2(buffer,bufferSize,format,arg1,arg2) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING3
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING3(buffer,bufferSize,format,arg1,arg2,arg3) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING4
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING4(buffer,bufferSize,format,arg1,arg2,arg3,arg4) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING5
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING5(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING6
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING6(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING7
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING7(buffer,bufferSize,format,arg1,arg2,arg3,arg14,arg5,arg6,arg7) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING8
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING8(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); \
+    } while (0)
+#endif
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING9
+  #include <stdarg.h>
+  #define TARGET_NATIVE_MISC_FORMAT_STRING9(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) \
+    do { \
+      snprintf(buffer,bufferSize,format,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_FORMAT_STRING_ELLIPSE
+* Purpose    : format a string with arguments
+* Input      : buffer     - buffer for string
+*              bufferSize - size of buffer
+*              format     - format string (like printf)
+* Output     : -
+* Return     : -
+* Side-effect: unknown
+* Notes      : - this is a "safe" macro to format string; buffer-
+*                overflows will be avoided. Direct usage of e. g.
+*                snprintf() is not permitted because it is not ANSI C
+*                (not portable!)
+*              - do not use this routine in a function without
+*                variable number of arguments (ellipses), because
+*                va_list/va_start/va_end is used!
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_MISC_FORMAT_STRING_ELLIPSE
+  #include <stdarg.h>
+  #define TARGET_NATIVE_FORMAT_STRING_ELLIPSE(buffer,bufferSize,format) \
+    do { \
+      va_list __arguments; \
+      \
+      va_start(__arguments,format); \
+      vsnprintf(buffer,bufferSize,format,__arguments); \
+      va_end(__arguments); \
+    } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_MISC__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/generic/target_generic_network.h Thu Nov  8 16:56:19 2007
@@ -0,0 +1,1289 @@
+/* target_generic_network.h - Native methods for network operations.
+   Copyright (C) 1998, 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+/*
+Description: generic target defintions of network functions
+Systems    : all
+*/
+
+#ifndef __TARGET_GENERIC_NETWORK__
+#define __TARGET_GENERIC_NETWORK__
+
+/* check if target_native_network.h included */
+#ifndef __TARGET_NATIVE_NETWORK__
+  #error Do NOT INCLUDE generic target files! Include the corresponding native target files instead!
+#endif
+
+/****************************** Includes *******************************/
+/* do not move; needed here because of some macro definitions */
+#include "config.h"
+
+#include <stdlib.h>
+
+#include "target_native.h"
+
+/****************** Conditional compilation switches *******************/
+
+/***************************** Constants *******************************/
+
+/***************************** Datatypes *******************************/
+
+/***************************** Variables *******************************/
+
+/****************************** Macros *********************************/
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT
+* Purpose    : convert IP adddress (4 parts) into integer (host-format
+*              32bit)
+* Input      : n0,n1,n2,n3 - IP address parts
+* Output     : i - integer with IP address in host-format
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT
+  #define TARGET_NATIVE_NETWORK_IPADDRESS_BYTES_TO_INT(n0,n1,n2,n3,i) \
+    do { \
+      i=(((unsigned char)n0) << 24) | \
+        (((unsigned char)n1) << 16) | \
+        (((unsigned char)n2) <<  8) | \
+        (((unsigned char)n3) <<  0); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES
+* Purpose    : convert IP adddress (4 parts) into integer (host-format
+*              32bit)
+* Input      : n0,n1,n2,n3 - IP address parts
+* Output     : i - integer with IP address in host-format
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES
+  #define TARGET_NATIVE_NETWORK_INT_TO_IPADDRESS_BYTES(i,n0,n1,n2,n3) \
+    do { \
+      n0=(i & 0xFF000000) >> 24; \
+      n1=(i & 0x00FF0000) >> 16; \
+      n2=(i & 0x0000FF00) >>  8; \
+      n3=(i & 0x000000FF) >>  0; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_GET_HOSTNAME
+* Purpose    : get hostname
+* Input      : maxNameLen - max. length of name
+* Output     : name   - name (NUL terminated)
+*              result - TARGET_NATIVE_OK if no error occurred,
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME
+  #include <unistd.h>
+  #define TARGET_NATIVE_NETWORK_GET_HOSTNAME(name,maxNameLen,result) \
+    do { \
+      result=(gethostname(name,maxNameLen-1)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      name[maxNameLen-1]='\0'; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS
+* Purpose    : get hostname by address
+* Input      : address    - IP address (32bit, NOT network byte order!)
+*              maxNameLen - max. length of name
+* Output     : name   - name (NUL terminated)
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+/* XXX NYI??? reentrant? */
+#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS
+  #include <netdb.h>
+  #define TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_ADDRESS(address,name,maxNameLen,result) \
+    do { \
+      int            __networkAddress; \
+      struct hostent *__hostEntry; \
+      \
+      __networkAddress=htonl(address); \
+      __hostEntry = gethostbyaddr((char*)&__networkAddress,sizeof(__networkAddress),AF_INET); \
+      if (__hostEntry!=NULL) \
+      { \
+        strncpy(name,__hostEntry->h_name,maxNameLen-1); \
+        name[maxNameLen]='\0'; \
+        result=TARGET_NATIVE_OK; \
+      } \
+      else \
+      { \
+        result=TARGET_NATIVE_ERROR; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME
+* Purpose    : get hostname by name
+* Input      : name           - hostname
+*              maxAddressSize - max. size of address array
+* Output     : addresses     - host adddresses (array, NOT in network
+*                              byte order!)
+*              addressCount  - number of entries in address array
+*              result        - TARGET_NATIVE_OK if no error occurred, 
+*                              TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+/* XXX NYI??? reentrant? */
+#ifndef TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME
+  #include <netdb.h>
+  #define TARGET_NATIVE_NETWORK_GET_HOSTNAME_BY_NAME(name,addresses,maxAddressSize,addressCount,result) \
+    do { \
+      struct hostent *__hostEntry; \
+      \
+      addressCount=0; \
+      \
+      __hostEntry = gethostbyname(name); \
+      if (__hostEntry!=NULL) \
+      { \
+        while ((addressCount<maxAddressSize) && (__hostEntry->h_addr_list[addressCount]!=NULL)) \
+        { \
+          addresses[addressCount]=ntohl(*(int*)(__hostEntry->h_addr_list[addressCount])); \
+          addressCount++; \
+        } \
+        result=TARGET_NATIVE_OK; \
+      } \
+      else \
+      { \
+        result=TARGET_NATIVE_ERROR; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM
+* Purpose    : open stream socket
+* Input      : -
+* Output     : socketDescriptor - socket descriptor
+*              result           - TARGET_NATIVE_OK if no error occurred, 
+*                                 TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <fcntl.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_OPEN_STREAM(socketDescriptor,result) \
+    do { \
+      socketDescriptor=socket(AF_INET,SOCK_STREAM,0); \
+      fcntl(socketDescriptor,F_SETFD,FD_CLOEXEC); \
+      result=(socketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM
+* Purpose    : open datagram socket
+* Input      : -
+* Output     : socketDescriptor - socket descriptor
+*              result           - TARGET_NATIVE_OK if no error occurred, 
+*                                 TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <fcntl.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_OPEN_DATAGRAM(socketDescriptor,result) \
+    do { \
+      socketDescriptor=socket(AF_INET,SOCK_DGRAM,0); \
+      fcntl(socketDescriptor,F_SETFD,FD_CLOEXEC); \
+      result=(socketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_CLOSE
+* Purpose    : close socket
+* Input      : socketDescriptor - socket descriptor
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_CLOSE
+  #include <unistd.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_CLOSE(socketDescriptor,result) \
+    do { \
+      result=(close(socketDescriptor)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_CONNECT
+* Purpose    : connect socket
+* Input      : socketDescriptor - socket descriptor
+*              address          - address (network format???)
+*              port             - port number (NOT in network byte order!)
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_CONNECT
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_CONNECT(socketDescriptor,address,port,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddress.sin_family      = AF_INET; \
+      __socketAddress.sin_addr.s_addr = htonl(address); \
+      __socketAddress.sin_port        = htons(((short)port)); \
+      \
+      result=(connect(socketDescriptor,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_BIND
+* Purpose    : bind socket
+* Input      : socketDescriptor - socket descriptor
+*              address          - address (NOT ??? in network byte order!)
+*              port             - port (NOT in network byte order!)
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+/* XXX ??? address in network byte order? */
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_BIND
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_BIND(socketDescriptor,address,port,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddress.sin_family      = AF_INET; \
+      __socketAddress.sin_addr.s_addr = htonl(address); \
+      __socketAddress.sin_port        = htons(((short)port)); \
+      \
+      result=(bind(socketDescriptor,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_LISTEN
+* Purpose    : listen socket
+* Input      : socketDescriptor - socket descriptor
+*              maxQueueLength   - max. number of pending connections
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+/* XXX ??? address in network byte order? */
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_LISTEN
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_LISTEN(socketDescriptor,maxQueueLength,result) \
+    do { \
+      result=(listen(socketDescriptor,maxQueueLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_ACCEPT
+* Purpose    : accept socket
+* Input      : socketDescriptor - socket descriptor
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+/* XXX ??? address in network byte order? */
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_ACCEPT
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_ACCEPT(socketDescriptor,newSocketDescriptor,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddressLength=sizeof(__socketAddress); \
+      newSocketDescriptor=accept(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength); \
+      result=(newSocketDescriptor!=-1)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO
+* Purpose    : get local socket data info
+* Input      : socketDescriptor - socket descriptor
+* Output     : localAddress     - local address (NOT in network byte order!)
+*              localPort        - local port number (NOT in network byte order!)
+*              result           - TARGET_NATIVE_OK if no error occurred, 
+*                                 TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_LOCAL_INFO(socketDescriptor,localAddress,localPort,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      localAddress=0; \
+      localPort   =0; \
+      \
+      __socketAddressLength=sizeof(__socketAddress); \
+      result=(getsockname(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        localAddress=ntohl(__socketAddress.sin_addr.s_addr); \
+        localPort   =ntohs(__socketAddress.sin_port); \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO
+* Purpose    : get remote socket data info
+* Input      : socketDescriptor - socket descriptor
+* Output     : remoteAddress    - remote address (NOT in network byte order!)
+*              remotePort       - remote port number (NOT in network byte order!)
+*            : result           - TARGET_NATIVE_OK if no error occurred, 
+*                                 TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_REMOTE_INFO(socketDescriptor,remoteAddress,remotePort,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      remoteAddress=0; \
+      remotePort   =0; \
+      \
+      __socketAddressLength=sizeof(__socketAddress); \
+      result=(getpeername(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        remoteAddress=ntohl(__socketAddress.sin_addr.s_addr); \
+        remotePort   =ntohs(__socketAddress.sin_port); \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE
+* Purpose    : get number of available bytes for receive
+* Input      : socketDescriptor - socket descriptor
+* Output     : bytesAvailable - available bytes for receive
+*            : result         - TARGET_NATIVE_OK if no error occurred, 
+*                               TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE
+  #include <sys/ioctl.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_AVAILABLE(socketDescriptor,bytesAvailable,result) \
+    do { \
+      int __value; \
+      \
+      bytesAvailable=0; \
+      \
+      result=(ioctl(socketDescriptor,FIONREAD,&__value)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        bytesAvailable=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE
+* Purpose    : receive data from socket
+* Input      : socketDescriptor - socket descriptor
+*              maxLength - max. size of bfufer
+* Output     : buffer       - received data
+*              bytesReceive - length of received data
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE(socketDescriptor,buffer,maxLength,bytesReceived) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddressLength=sizeof(__socketAddress); \
+      bytesReceived=recv(socketDescriptor,buffer,maxLength,0); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT
+* Purpose    : receive data from socket
+* Input      : socketDescriptor - socket descriptor
+*              maxLength - max. size of bfufer
+* Output     : buffer       - received data
+*              address      - from address (NOT in network byte order!)
+*              port         - from port (NOT in network byte order!)
+*              bytesReceive - length of received data
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_RECEIVE_WITH_ADDRESS_PORT(socketDescriptor,buffer,maxLength,address,port,bytesReceived) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      port=0; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddressLength=sizeof(__socketAddress); \
+      bytesReceived=recvfrom(socketDescriptor,buffer,maxLength,0,(struct sockaddr*)&__socketAddress,&__socketAddressLength); \
+      if (__socketAddressLength==sizeof(__socketAddress)) \
+      { \
+        address=ntohl(__socketAddress.sin_addr.s_addr); \
+        port   =ntohs(__socketAddress.sin_port); \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SEND
+* Purpose    : send data to socket
+* Input      : socketDescriptor - socket descriptor
+*            : buffer  - data to send
+*              length  - length of data to send
+* Output     : bytesSent - number of bytes sent, -1 otherwise
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SEND
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SEND(socketDescriptor,buffer,length,bytesSent) \
+    do { \
+      bytesSent=send(socketDescriptor,buffer,length,0); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT
+* Purpose    : send data to socket
+* Input      : socketDescriptor - socket descriptor
+*            : buffer  - data to send
+*              length  - length of data to send
+*              Address - to address (NOT in network byte order!)
+*              Port    - to port (NOT in network byte order!)
+* Output     : bytesSent - number of bytes sent, -1 otherwise
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SEND_WITH_ADDRESS_PORT(socketDescriptor,buffer,length,address,port,bytesSent) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddress.sin_family      = AF_INET; \
+      __socketAddress.sin_addr.s_addr = htonl(address); \
+      __socketAddress.sin_port        = htons((short)port); \
+      bytesSent=sendto(socketDescriptor,buffer,length,0,(struct sockaddr*)&__socketAddress,sizeof(__socketAddress)); \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY
+* Purpose    : set socket option TCP_NODELAY
+* Input      : socketDescriptor - socket descriptor
+*              flag             - 1 or 0
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/tcp.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \
+    do { \
+      int __value; \
+      \
+      __value=flag; \
+      result=(setsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER
+* Purpose    : set socket option SO_LINGER
+* Input      : socketDescriptor - socket descriptor
+*              flag             - 1 or 0
+*              value            - linger value
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \
+    do { \
+      struct linger __linger; \
+      \
+      memset(&__linger,0,sizeof(__linger)); \
+      if (flag) \
+      { \
+        __linger.l_onoff=0; \
+      } \
+      else \
+      { \
+        __linger.l_linger=value; \
+        __linger.l_onoff =1; \
+      } \
+      result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,sizeof(__linger))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT
+* Purpose    : set socket option SO_TIMEOUT
+* Input      : socketDescriptor - socket descriptor
+*              flag             - 1 or 0
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT
+  #include <sys/types.h>
+  #include <sys/socket.h>
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \
+    do { \
+      struct timeval __value; \
+      \
+      __value.tv_sec = flag / 1000; \
+      __value.tv_usec = (flag % 1000) * 1000; \
+      result = ( (setsockopt(socketDescriptor, SOL_SOCKET, SO_SNDTIMEO, &__value, sizeof(__value)) | \
+		  setsockopt(socketDescriptor, SOL_SOCKET, SO_RCVTIMEO, &__value, sizeof(__value))) == 0) ? TARGET_NATIVE_OK : TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF
+* Purpose    : set socket option SO_SNDBUF
+* Input      : socketDescriptor - socket descriptor
+*              size             - size of send buffer
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \
+    do { \
+      int __value; \
+      \
+      __value=size; \
+      result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF
+* Purpose    : set socket option SO_RCDBUF
+* Input      : socketDescriptor - socket descriptor
+*              size             - size of receive buffer
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \
+    do { \
+      int __value; \
+      \
+      __value=size; \
+      result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL
+* Purpose    : set socket option IP_TTL
+* Input      : socketDescriptor - socket descriptor
+*              value            - value
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_TTL(socketDescriptor,value,result) \
+    do { \
+      int __value; \
+      \
+      __value=value; \
+      result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF
+* Purpose    : set socket option IP_MULTICAST_IF
+* Input      : socketDescriptor - socket descriptor
+*              address          - integer with IP address in host-format
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddress.sin_family      = AF_INET; \
+      __socketAddress.sin_addr.s_addr = htonl(address); \
+      result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,sizeof(__socketAddress))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS
+* Purpose    : set socket option REUSE_ADDRESS
+* Input      : socketDescriptor - socket descriptor
+*              flag             - 1 or 0
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \
+    do { \
+      int __value; \
+      \
+      __value=flag; \
+      result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP
+* Purpose    : set socket option IP_ADD_MEMBERSHIP
+* Input      : socketDescriptor - socket descriptor
+*              address          - network address (host-format)
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_ADD_MEMBERSHIP(socketDescriptor,address,result) \
+    do { \
+      struct ip_mreq __request; \
+      \
+      memset(&__request,0,sizeof(__request)); \
+      __request.imr_multiaddr.s_addr=htonl(address); \
+      __request.imr_interface.s_addr=INADDR_ANY; \
+      result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_ADD_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP
+* Purpose    : set socket option IP_DROP_MEMBERSHIP
+* Input      : socketDescriptor - socket descriptor
+*              address          - network address (host-format)
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_DROP_MEMBERSHIP(socketDescriptor,address,result) \
+    do { \
+      struct ip_mreq __request; \
+      \
+      memset(&__request,0,sizeof(__request)); \
+      __request.imr_multiaddr.s_addr=htonl(address); \
+      __request.imr_interface.s_addr=INADDR_ANY; \
+      result=(setsockopt(socketDescriptor,IPPROTO_IP,IP_DROP_MEMBERSHIP,&__request,sizeof(__request))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE
+* Purpose    : set socket option KEEP_ALIVE
+* Input      : socketDescriptor - socket descriptor
+*              flag             - 1 or 0
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \
+    do { \
+      int __value; \
+      \
+      __value=flag; \
+      result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST
+* Purpose    : set socket option SO_BROADCAST
+* Input      : socketDescriptor - socket descriptor
+*              flag             - 1 or 0
+* Output     : result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST 
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/tcp.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_SET_OPTION_BROADCAST(socketDescriptor,flag,result) \
+    do { \
+      int __value; \
+      \
+      __value=flag; \
+      result=(setsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,sizeof(__value))==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+    } while (0)
+#endif
+
+/*---------------------------------------------------------------------*/
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY
+* Purpose    : get socket option TCP_NODELAY
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/tcp.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_TCP_NODELAY(socketDescriptor,flag,result) \
+    do { \
+      int       __value; \
+      socklen_t __len; \
+      \
+      flag=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,IPPROTO_TCP,TCP_NODELAY,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER
+* Purpose    : get socket option SO_LINGER
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              value  - linger value
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_LINGER(socketDescriptor,flag,value,result) \
+    do { \
+      struct linger __linger; \
+      socklen_t     __len; \
+      \
+      flag =0; \
+      value=0; \
+      \
+      __len=sizeof(__linger); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_LINGER,&__linger,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag =__linger.l_onoff; \
+        value=__linger.l_linger; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT
+* Purpose    : get socket option SO_TIMEOUT
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_TIMEOUT(socketDescriptor,flag,result) \
+    do { \
+      struct timeval   __value; \
+      socklen_t __len; \
+      \
+      flag=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_TIMEOUT,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag = (__value.tv_sec * 1000LL) + (__value.tv_usec / 1000LL); \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF
+* Purpose    : get socket option SO_SNDBUF
+* Input      : socketDescriptor - socket descriptor
+* Output     : size   - size of send buffer
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_SNDBUF(socketDescriptor,size,result) \
+    do { \
+      int       __value; \
+      socklen_t __len; \
+      \
+      size=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_SNDBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        size=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF
+* Purpose    : get socket option SO_RCDBUF
+* Input      : socketDescriptor - socket descriptor
+* Output     : size   - size of receive buffer
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_SO_RCDBUF(socketDescriptor,size,result) \
+    do { \
+      int       __value; \
+      socklen_t __len; \
+      \
+      size=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_RCVBUF,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        size=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL
+* Purpose    : get socket option IP_TTL
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_TTL(socketDescriptor,flag,result) \
+    do { \
+      int       __value; \
+      socklen_t __len; \
+      \
+      flag=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_TTL,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF
+* Purpose    : get socket option IP_MULTICAST_IF
+* Input      : socketDescriptor - socket descriptor
+* Output     : address - integer with IP address in host-format
+*              result  - TARGET_NATIVE_OK if no error occurred, 
+*                        TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_IP_MULTICAST_IF(socketDescriptor,address,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      address=0;\
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddress.sin_family      = AF_INET; \
+      __socketAddress.sin_addr.s_addr = htonl(address); \
+      __socketAddressLength=sizeof(__socketAddress); \
+      result=(getsockopt(socketDescriptor,IPPROTO_IP,IP_MULTICAST_IF,&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        address=ntohl(__socketAddress.sin_addr.s_addr); \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS
+* Purpose    : get socket option SOCKOPT_SO_BINDADDR
+* Input      : socketDescriptor - socket descriptor
+* Output     : address - integer with IP address in host-format
+*              result  - TARGET_NATIVE_OK if no error occurred, 
+*                        TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BIND_ADDRESS(socketDescriptor,address,result) \
+    do { \
+      struct sockaddr_in __socketAddress; \
+      socklen_t          __socketAddressLength; \
+      \
+      address=0;\
+      \
+      memset(&__socketAddress,0,sizeof(__socketAddress)); \
+      __socketAddressLength=sizeof(__socketAddress); \
+      result=(getsockname(socketDescriptor,(struct sockaddr*)&__socketAddress,&__socketAddressLength)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        address=ntohl(__socketAddress.sin_addr.s_addr); \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS
+* Purpose    : get socket option REUSE_ADDRESS
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_REUSE_ADDRESS(socketDescriptor,flag,result) \
+    do { \
+      int       __value; \
+      socklen_t __len; \
+      \
+      flag=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE
+* Purpose    : get socket option KEEP_ALIVE
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/in.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_KEEP_ALIVE(socketDescriptor,flag,result) \
+    do { \
+      int       __value; \
+      socklen_t __len; \
+      \
+      flag=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_KEEPALIVE,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag=__value; \
+      } \
+    } while (0)
+#endif
+
+/***********************************************************************\
+* Name       : TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST
+* Purpose    : get socket option SO_BROADCAST
+* Input      : socketDescriptor - socket descriptor
+* Output     : flag   - 1 or 0
+*              result - TARGET_NATIVE_OK if no error occurred, 
+*                       TARGET_NATIVE_ERROR otherwise
+* Return     : -
+* Side-effect: unknown
+* Notes      : -
+\***********************************************************************/
+
+#ifndef TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST 
+  #include <sys/types.h>
+  #include <sys/socket.h>
+  #include <netinet/tcp.h>
+  #define TARGET_NATIVE_NETWORK_SOCKET_GET_OPTION_BROADCAST(socketDescriptor,flag,result) \
+    do { \
+      int __value; \
+      socklen_t __len; \
+      \
+      flag=0; \
+      \
+      __len=sizeof(__value); \
+      result=(getsockopt(socketDescriptor,SOL_SOCKET,SO_BROADCAST,&__value,&__len)==0)?TARGET_NATIVE_OK:TARGET_NATIVE_ERROR; \
+      if (result==TARGET_NATIVE_OK) \
+      { \
+        flag=__value; \
+      } \
+    } while (0)
+#endif
+
+/***************************** Functions *******************************/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __TARGET_GENERIC_NETWORK__ */
+
+/* end of file */
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/native/target/readme.txt Thu Nov  8 16:56:19 2007
@@ -0,0 +1,149 @@
+The GNU classpath native layer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To enable GNU classpath to run on a diverse array of different hardware
+platforms, a new native software layer has been added.  This layer hide all
+machine and hardware dependent issues except common available definitions,
+which are ANSI C functions.  For each targets system where the GNU classpath
+library is to be used, a specific set of native layer functions have to be
+provided.  A generic set of functions is provided for Unix like systems
+(currently tested only with Linux).  For a new target system, some or
+all native layer functions have to be rewritten.  The following scheme
+illustrate the native layer.
+
+            Java API
+      ----------------------
+     |    Java classes      |
+     | -------------------- |
+     |  C native functions  |
+     | -------------------- |
+  >> |    C native layer    |  <<
+     | -------------------- |
+     |   operating system   |
+     | -------------------- |
+     |       hardware       |
+      ----------------------
+
+The C native layer is implemented as a set of C pre-processor native macros.
+These macros expand to the appropriated native code.  Macros are used
+instead function calls to give optimal performance and small code size.
+Of course in special cases, a macro can also expand to a function call
+if this is needed.  This approach provide a flexible and efficient
+implementation of the native layer.
+
+The naming pattern for native macros is like follows:
+
+  TARGET_NATIVE_<module name>_<macro name>
+
+where <module name> is a name of a module, e. g. FILE; <macro name> is
+the name of the specific native macro, e. g. OPEN_READ.
+
+The parameters for the macro use in general (with a few exceptions) the
+scheme
+
+  <parameter>,<parameter>,...,<result>
+
+where <parameter> is input/output parameter and <result> is the result
+code TARGET_NATIVE_OK or TARGET_NATIVE_ERROR.  Specific error codes
+and error strings can be gotten with
+
+  TARGET_NATIVE_LAST_ERROR and
+  TARGET_NATIVE_LAST_ERROR_STRING
+
+(see also file target_generic.h).
+
+For a single target system there exists two sets of native macros in
+the files
+
+  a) <target name>/target_native_<module name>.h
+  b) generic/target_generic_<module name>.h
+
+The macros in "a" are target specific implementations of native
+functions, the macros in "b" are generic implementations (for Unix) of
+the same native functions.  If a native macro is not defined in the file
+"a", then the definition in file "b" is used (there is a check to see if
+a native macros is already defined elsewhere).  This technique enables
+"a" to 'overwrite' single generic native macros with specific native
+macros for a specific target.  In the default case, where only the
+generic implementation of the native macros is used, the files in the
+directory '<target name>' are empty except for the mandatory include of the
+generic header file in the directory 'generic' at the end.  Please
+look at the existing Linux target specific files.
+
+The directory and file structure is as follows.
+
+  native
+   ...
+    | 
+    |--- target
+    |      |
+    |      |--- Linux
+    |      |      |--- target_native_<module name>.h
+    |      |      |--- ...
+    |      |     ...
+    |      |--- ...
+    |      |--- generic
+    |      |      |--- target_generic_<module name>.h
+    |      |      |--- ...
+   ...    ...    ...
+   
+
+Include hierarchy is as follows.
+
+  native file <name>
+    --> include 'target_native_<module name>.h'
+                  ...
+                  <target specific definitions>
+                  ...
+                  --> include 'target_generic_<module name>.h'
+                                ...
+                                <generic definitions>
+                                ...
+
+When writing native code, please take care with the following.
+
+ - Use _only_ ANSI C specific functions directly which are available
+   on all target systems with the same parameters, e. g. strdup() is
+   not an ANSI C function, thus is is not available on all systems; mkdir()
+   expect on some systems different parameters.
+
+   !!!Do NOT use this functions in your native code!!!
+
+   Instead
+
+   * if a function is not available, create a native macro in the file
+
+     <target name>/target_native_<module name>.h
+
+   * if it is a generic function, include a generic implementation in
+
+     generic/target_generic_<module name>.h
+
+   * Then use this macro in your native code.
+
+ - Avoid _all_ OS specific data types and constants, e. g. structures or error
+   numbers.  Instead, wrap them in a native macro and convert the values to
+   basic scalar types like char, int, double or long.
+
+ - Take care with 64 bit values; the are machine dependent.  Not all
+   target system support 64 bit operations.  The macros in
+   target_generic_math_int.h give a set of macros implementing 64 bit
+   operations and constants.
+
+ - Avoid - if possible - non-reentrant functions.  Non-reentrant functions
+   cause strange problems on some multitasking systems.
+
+ - Avoid - if possible - dynamic data types created by malloc() and similar
+   functions.  Instead use (local) static variables to avoid stack usage.
+   On some target systems, dynamic memory management is either slow or even
+   dangerous.  Moreover malloc()-calls can cause fragmentation of the system
+   memory, which could result in a system crash or an application failure.
+
+For some examples, please look in the current implementation for
+Linux in the directory 'target/Linux' and the generic implementation in
+the directory 'target/generic'.
+
+
+                                        aicas GmbH, February 2003
+
+

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/ChannelBinding.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,215 @@
+/* ChannelBinding.java -- a channel binding in the GSS-API.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.net.InetAddress;
+import java.util.Arrays;
+
+/**
+ * <p>The GSS-API accommodates the concept of caller-provided channel
+ * binding information.  Channel bindings are used to strengthen the
+ * quality with which peer entity authentication is provided during
+ * context establishment.  They enable the GSS-API callers to bind the
+ * establishment of the security context to relevant characteristics
+ * like addresses or to application specific data.</p>
+ *
+ * <p>The caller initiating the security context must determine the
+ * appropriate channel binding values to set in the {@link GSSContext}
+ * object. The acceptor must provide an identical binding in order to
+ * validate that received tokens possess correct channel-related
+ * characteristics.</p>
+ *
+ * <p>Use of channel bindings is optional in GSS-API.  Since channel-binding
+ * information may be transmitted in context establishment tokens,
+ * applications should therefore not use confidential data as
+ * channel-binding components.</p>
+ */
+public class ChannelBinding
+{
+
+  // Fields.
+  // -------------------------------------------------------------------------
+
+  private final byte[] appData;
+  private final InetAddress initAddr;
+  private final InetAddress acceptAddr;
+
+  // Constructor.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Create a ChannelBinding object with user supplied address information
+   * and data. <code>null</code> values can be used for any fields which the
+   * application does not want to specify.
+   *
+   * @param initAddr   The address of the context initiator. <code>null</code>
+   *                   value can be supplied to indicate that the application
+   *                   does not want to set this value.
+   * @param acceptAddr The address of the context acceptor. <code>null</code>
+   *                   value can be supplied to indicate that the application
+   *                   does not want to set this value.
+   * @param appData    Application supplied data to be used as part of the
+   *                   channel bindings. <code>null</code> value can be
+   *                   supplied to indicate that the application does not
+   *                   want to set this value.
+   */
+  public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr,
+                        byte[] appData)
+  {
+    this.appData = (appData != null) ? (byte[]) appData.clone() : null;
+    this.initAddr = initAddr;
+    this.acceptAddr = acceptAddr;
+  }
+
+  /**
+   * Creates a ChannelBinding object without any addressing information.
+   *
+   * @param appData Application supplied data to be used as part of the
+   *                channel bindings.
+   */
+  public ChannelBinding(byte[] appData)
+  {
+    this(null, null, appData);
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Returns the initiator's address for this channel binding.
+   * <code>null</code> is returned if the address has not been set.
+   *
+   * @return The initiator's address, or <code>null</code>.
+   */
+  public InetAddress getInitiatorAddress()
+  {
+    return initAddr;
+  }
+
+  /**
+   * Returns the acceptor's address for this channel binding.
+   * <code>null</code> is returned if the address has not been set.
+   *
+   * @return The acceptor's address, or <code>null</code>.
+   */
+  public InetAddress getAcceptorAddress()
+  {
+    return acceptAddr;
+  }
+
+  /**
+   * Returns application data being used as part of the ChannelBinding.
+   * <code>null</code> is returned if no application data has been
+   * specified for the channel binding.
+   *
+   * @return The application data, or <code>null</code>.
+   */
+  public byte[] getApplicationData()
+  {
+    if (appData != null)
+      return (byte[]) appData.clone();
+    return null;
+  }
+
+  /**
+   * Returns <code>true</code> if two channel bindings match.
+   *
+   * @param obj Another channel binding to compare with.
+   * @return True if this channel binding equals the other.
+   */
+  public boolean equals(Object obj)
+  {
+    if (!(obj instanceof ChannelBinding))
+      return false;
+    ChannelBinding cb = (ChannelBinding) obj;
+    boolean b1 = Arrays.equals(appData, cb.appData);
+    boolean b2 = (initAddr == null && cb.initAddr == null)
+      || (cb.initAddr != null && initAddr.equals(cb.initAddr));
+    boolean b3 = (acceptAddr == null && cb.acceptAddr == null)
+      || (cb.acceptAddr != null && acceptAddr.equals(cb.acceptAddr));
+    return b1 && b2 && b3;
+  }
+
+  /**
+   * Returns the hash code for this channel binding.
+   *
+   * @return The hash code.
+   */
+  public int hashCode()
+  {
+    int code = 0;
+    if (appData != null)
+      for (int i = 0; i < appData.length; i++)
+        code ^= appData[i] << ((8 * i) & 31);
+    if (initAddr != null)
+      code ^= initAddr.hashCode();
+    if (acceptAddr != null)
+      code ^= acceptAddr.hashCode();
+    return code;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSContext.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,924 @@
+/* GSSContext.java -- The GSS context interface.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.ietf.jgss;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * <p>This interface encapsulates the GSS-API security context and provides
+ * the security services ({@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)},
+ * {@link #unwrap(byte[],int,int,org.ietf.jgss.MessageProp)}, {@link
+ * #getMIC(byte[],int,int,org.ietf.jgss.MessageProp)}, {@link
+ * #verifyMIC(byte[],int,int,byte[],int,int,org.ietf.jgss.MessageProp)}) that
+ * are available over the context.  Security contexts are established
+ * between peers using locally acquired credentials.  Multiple contexts
+ * may exist simultaneously between a pair of peers, using the same or
+ * different set of credentials.  GSS-API functions in a manner
+ * independent of the underlying transport protocol and depends on its
+ * calling application to transport its tokens between peers.</p>
+ *
+ * <p>Before the context establishment phase is initiated, the context
+ * initiator may request specific characteristics desired of the
+ * established context.  These can be set using the set methods.  After
+ * the context is established, the caller can check the actual
+ * characteristic and services offered by the context using the query
+ * methods.</p>
+ *
+ * <p>The context establishment phase begins with the first call to the
+ * init method by the context initiator.  During this phase the
+ * {@link #initSecContext(byte[],int,int)} and {@link
+ * #acceptSecContext(byte[],int,int)} methods will produce GSS-API
+ * authentication tokens which the calling application needs to send to
+ * its peer.  If an error occurs at any point, an exception will get
+ * thrown and the code will start executing in a catch block.  If not,
+ * the normal flow of code continues and the application can make a call
+ * to the {@link #isEstablished()} method. If this method returns false it
+ * indicates that a token is needed from its peer in order to continue
+ * the context establishment phase.  A return value of true signals that
+ * the local end of the context is established.  This may still require
+ * that a token be sent to the peer, if one is produced by GSS-API.
+ * During the context establishment phase, the {@link #isProtReady()}
+ * method may be called to determine if the context can be used for the
+ * per-message operations.  This allows applications to use per-message
+ * operations on contexts which aren't fully established.</p>
+ *
+ * <p>After the context has been established or the {@link #isProtReady()}
+ * method returns <code>true</code>, the query routines can be invoked to
+ * determine the actual characteristics and services of the established
+ * context.  The application can also start using the per-message methods
+ * of {@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)} and
+ * {@link #getMIC(byte[],int,int,org.ietf.jgss.MessageProp)} to obtain
+ * cryptographic operations on application supplied data.</p>
+ *
+ * <p>When the context is no longer needed, the application should call
+ * {@link dispose()} to release any system resources the context may be
+ * using.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// start by creating the name for a service entity
+GSSName targetName = mgr.createName("service at host",
+                                    GSSName.NT_HOSTBASED_SERVICE);
+
+// create a context using default credentials for the above entity
+// and the implementation specific default mechanism
+GSSContext context = mgr.createContext(targetName,
+                                       null,   // default mechanism
+                                       null,   // default credentials
+                                       GSSContext.INDEFINITE_LIFETIME);
+
+// set desired context options - all others are false by default
+context.requestConf(true);
+context.requestMutualAuth(true);
+context.requestReplayDet(true);
+context.requestSequenceDet(true);
+
+// establish a context between peers - using byte arrays
+byte []inTok = new byte[0];
+
+try
+  {
+    do
+      {
+        byte[] outTok = context.initSecContext(inTok, 0,
+                                               inTok.length);
+
+        // send the token if present
+        if (outTok != null)
+          sendToken(outTok);
+
+        // check if we should expect more tokens
+        if (context.isEstablished())
+          break;
+
+        // another token expected from peer
+        inTok = readToken();
+
+      }
+    while (true);
+  }
+catch (GSSException e)
+  {
+    print("GSSAPI error: " + e.getMessage());
+  }
+
+// display context information
+print("Remaining lifetime in seconds = " + context.getLifetime());
+print("Context mechanism = " + context.getMech().toString());
+print("Initiator = " + context.getSrcName().toString());
+print("Acceptor = " + context.getTargName().toString());
+
+if (context.getConfState())
+  print("Confidentiality security service available");
+
+if (context.getIntegState())
+  print("Integrity security service available");
+
+// perform wrap on an application supplied message, appMsg,
+// using QOP = 0, and requesting privacy service
+byte[] appMsg ...
+MessageProp mProp = new MessageProp(0, true);
+byte[] tok = context.wrap(appMsg, 0, appMsg.length, mProp);
+
+if (mProp.getPrivacy())
+  print("Message protected with privacy.");
+
+sendToken(tok);
+
+
+// release the local-end of the context
+context.dispose();
+ * </pre>
+ */
+public interface GSSContext
+{
+
+  // Constants.
+  // -------------------------------------------------------------------------
+
+  /**
+   * A lifetime constant representing the default context lifetime.
+   */
+  int DEFAULT_LIFETIME = 0;
+
+  /**
+   * A lifetime constant representing indefinite context lifetime.
+   */
+  int INDEFINITE_LIFETIME = Integer.MAX_VALUE;
+
+  // Methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * <p>Called by the context initiator to start the context creation
+   * process.  This is equivalent to the stream based method except that
+   * the token buffers are handled as byte arrays instead of using stream
+   * objects.  This method may return an output token which the
+   * application will need to send to the peer for processing by the
+   * accept call.  Typically, the application would do so by calling the
+   * {@link OutputStream#flush()} method on an OutputStream that
+   * encapsulates the connection between the two peers.  The application
+   * can call {@link #isEstablished()} to determine if the context
+   * establishment phase is complete for this peer.  A return value of
+   * <code>false</code> from {@link #isEstablished()} indicates that more
+   * tokens are expected to be supplied to the initSecContext() method. Note
+   * that it is possible that the initSecContext() method return a token for
+   * the peer, and {@link #isEstablished()} to return <code>true</code> also.
+   * This indicates that the token needs to be sent to the peer, but the local
+   * end of the context is now fully established.</p>
+   *
+   * <p>Upon completion of the context establishment, the available context
+   * options may be queried through the get methods.</p>
+   *
+   * @param inputBuf Token generated by the peer. This parameter is ignored
+   *                 on the first call.
+   * @param offset   The offset within the <i>inputBuf</i> where the token
+   *                 begins.
+   * @param len      The length of the token within the <i>inputBuf</i>
+   *                 (starting at the offset).
+   * @return The output token, if any.
+   * @throws GSSException If this operation fails.
+   */
+  byte[] initSecContext(byte[] inputBuf, int offset, int len)
+    throws GSSException;
+
+  /**
+   * <p>Called by the context initiator to start the context creation
+   * process.  This is equivalent to the byte array based method.  This
+   * method may write an output token to the <i>outStream</i>, which the
+   * application will need to send to the peer for processing by the
+   * accept call. Typically, the application would do so by calling the
+   * {@link OutputStream#flush()} method on an OutputStream that encapsulates
+   * the connection between the two peers. The application can call {@link
+   * #isEstablished()} to determine if the context establishment phase is
+   * complete for this peer. A return value of <code>false</code> from
+   * isEstablished indicates that more tokens are expected to be supplied
+   * to the initSecContext() method. Note that it is possible that the
+   * initSecContext() method return a token for the peer, and {@link
+   * #isEstablished() return <code>true</code> also. This indicates that
+   * the token needs to be sent to the peer, but the local end of the context
+   * is now fully established.</p>
+   *
+   * <p>The GSS-API authentication tokens contain a definitive start and end.
+   * This method will attempt to read one of these tokens per invocation,
+   * and may block on the stream if only part of the token is available.</p>
+   *
+   * <p>Upon completion of the context establishment, the available context
+   * options may be queried through the get methods.</p>
+   *
+   * @param inStream  Contains the token generated by the peer. This
+   *                  parameter is ignored on the first call.
+   * @param outStream Output stream where the output token will be written.
+   *                  During the final stage of context establishment, there
+   *                  may be no bytes written.
+   * @return The number of bytes written to <i>outStream</i>, or 0 if no
+   *         token is written.
+   * @throws GSSException If this operation fails.
+   */
+  int initSecContext(InputStream inStream, OutputStream outStream)
+    throws GSSException;
+
+  /**
+   * <p>Called by the context acceptor upon receiving a token from the peer.
+   * This call is equivalent to the stream based method except that the
+   * token buffers are handled as byte arrays instead of using stream
+   * objects.</p>
+   *
+   * <p>This method may return an output token which the application will
+   * need to send to the peer for further processing by the init call.</p>
+   *
+   * <p><code>null</code> return value indicates that no token needs to be
+   * sent to the peer. The application can call {@link #isEstablished()}
+   * to determine if the context establishment phase is complete for this
+   * peer. A return value of <code>false</code> from {@link #isEstablished()}
+   * indicates that more tokens are expected to be supplied to this
+   * method.</p>
+   *
+   * <p>Note that it is possible that acceptSecContext() return a token for
+   * the peer, and isEstablished() return <code>true</code> also. This
+   * indicates that the token needs to be sent to the peer, but the local
+   * end of the context is now fully established.</p>
+   *
+   * <p>Upon completion of the context establishment, the available context
+   * options may be queried through the get methods.</p>
+   *
+   * @param inTok  Token generated by the peer.
+   * @param offset The offset within the <i>inTok</i> where the token begins.
+   * @param len    The length of the token within the <i>inTok</i> (starting
+   *               at the offset).
+   * @return The output token, if any.
+   * @throws GSSException If this operation fails.
+   */
+  byte[] acceptSecContext(byte[] inTok, int offset, int len)
+    throws GSSException;
+
+  /**
+   * <p>Called by the context acceptor upon receiving a token from the peer.
+   * This call is equivalent to the byte array method.  It may write an
+   * output token to the outStream, which the application will need to
+   * send to the peer for processing by its initSecContext method.
+   * Typically, the application would do so by calling the {@link
+   * OutputStream#flush()} method on an OutputStream that encapsulates the
+   * connection between the two peers. The application can call {@link
+   * #isEstablished()} to determine if the context establishment phase is
+   * complete for this peer. A return value of <code>false</code> from
+   * {@link #isEstablished()} indicates that more tokens are expected to be
+   * supplied to this method.</p>
+   *
+   * <p>Note that it is possible that acceptSecContext() return a token for
+   * the peer, and isEstablished() return <code>true</code> also. This
+   * indicates that the token needs to be sent to the peer, but the local
+   * end of the context is now fully established.</p>
+   *
+   * <p>The GSS-API authentication tokens contain a definitive start and end.
+   * This method will attempt to read one of these tokens per invocation,
+   * and may block on the stream if only part of the token is available.</p>
+   *
+   * <p>Upon completion of the context establishment, the available context
+   * options may be queried through the get methods.</p>
+   *
+   * @param inStream  Contains the token generated by the peer.
+   * @param outStream Output stream where the output token will be written.
+   *                  During the final stage of context establishment, there
+   *                  may be no bytes written.
+   * @return The number of bytes written, or 0 if no token is written.
+   * @throws GSSException If this operation fails.
+   */
+  void acceptSecContext(InputStream inStream, OutputStream outStream)
+    throws GSSException;
+
+  /**
+   * Used during context establishment to determine the state of the
+   * context. Returns <code>true</code> if this is a fully established
+   * context on the caller's side and no more tokens are needed from the
+   * peer. Should be called after a call to {@link
+   * #initSecContext(byte[],int,int)} or {@link
+   * #acceptSecContext(byte[],int,int)} when no {@link GSSException}
+   * is thrown.
+   *
+   * @return True of this context is fully established on this side.
+   */
+  boolean isEstablished();
+
+  /**
+   * Releases any system resources and cryptographic information stored in
+   * the context object. This will invalidate the context.
+   *
+   * @throws GSSException If this operation fails.
+   */
+  void dispose() throws GSSException;
+
+  /**
+   * <p>Returns the maximum message size that, if presented to the
+   * {@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)} method with
+   * the same <i>confReq</i> and <i>qop</i> parameters, will result in an
+   * output token containing no more than the <i>maxTokenSize</i> bytes.</p>
+   *
+   * <p>This call is intended for use by applications that communicate over
+   * protocols that impose a maximum message size.  It enables the
+   * application to fragment messages prior to applying protection.</p>
+   *
+   * <p>GSS-API implementations are recommended but not required to detect
+   * invalid QOP values when getWrapSizeLimit is called.  This routine
+   * guarantees only a maximum message size, not the availability of
+   * specific QOP values for message protection.</p>
+   *
+   * <p>Successful completion of this call does not guarantee that wrap will
+   * be able to protect a message of the computed length, since this
+   * ability may depend on the availability of system resources at the
+   * time that wrap is called.  However, if the implementation itself
+   * imposes an upper limit on the length of messages that may be
+   * processed by wrap, the implementation should not return a value that
+   * is greater than this length.</p>
+   *
+   * @param qop          Indicates the level of protection wrap will be asked
+   *                     to provide.
+   * @param confReq      Indicates if wrap will be asked to provide privacy
+   *                     service.
+   * @param maxTokenSize The desired maximum size of the token emitted
+   *                     by {@link #wrap(byte[],int,int,org.ietf.jgss.MessageProp)}.
+   * @return The maximum wrapped output size.
+   * @throws GSSException If this operation fails.
+   */
+  int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize)
+    throws GSSException;
+
+  /**
+   * <p>Applies per-message security services over the established security
+   * context.  The method will return a token with a cryptographic MIC and
+   * may optionally encrypt the specified <i>inBuf</i>. This method is
+   * equivalent in functionality to its stream counterpart. The returned
+   * byte array will contain both the MIC and the message.</p>
+   *
+   * <p>The {@link MessageProp} object is instantiated by the application
+   * and used to specify a QOP value which selects cryptographic algorithms,
+   * and a privacy service to optionally encrypt the message. The underlying
+   * mechanism that is used in the call may not be able to provide the
+   * privacy service.  It sets the actual privacy service that it does
+   * provide in this {@link MessageProp} object which the caller should then
+   * query upon return. If the mechanism is not able to provide the
+   * requested QOP, it throws a {@link GSSException} with the {@link
+   * GSSException#BAD_QOP} code.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by wrap to provide "secure framing", implementations should support
+   * the wrapping of zero-length messages.</p>
+   *
+   * <p>The application will be responsible for sending the token to the
+   * peer.</p>
+   *
+   * @param inBuf   Application data to be protected.
+   * @param offset  The offset within the inBuf where the data begins.
+   * @param len     The length of the data within the inBuf (starting at
+   *                the offset).
+   * @param msgProp Instance of {@link MessageProp} that is used by the
+   *                application to set the desired QOP and privacy state.
+   *                Set the desired QOP to 0 to request the default QOP.
+   *                Upon return from this method, this object will contain
+   *                the the actual privacy state that was applied to the
+   *                message by the underlying mechanism.
+   * @return The wrapped data.
+   * @throws GSSException If this operation fails.
+   */
+  byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Allows to apply per-message security services over the established
+   * security context.  The method will produce a token with a
+   * cryptographic MIC and may optionally encrypt the message in inStream.
+   * The outStream will contain both the MIC and the message.</p>
+   *
+   * <p>The {@link MessageProp} object is instantiated by the application and
+   * used to specify a QOP value which selects cryptographic algorithms, and
+   * a privacy service to optionally encrypt the message.  The underlying
+   * mechanism that is used in the call may not be able to provide the
+   * privacy service.  It sets the actual privacy service that it does
+   * provide in this MessageProp object which the caller should then query
+   * upon return.  If the mechanism is not able to provide the requested
+   * QOP, it throws a {@link GSSException} with the {@link
+   * GSSException#BAD_QOP} code.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by wrap to provide "secure framing", implementations should support
+   * the wrapping of zero-length messages.</p>
+   *
+   * <p>The application will be responsible for sending the token to the
+   * peer.</p>
+   *
+   * @param inStream  Input stream containing the application data to be
+   *                  protected.
+   * @param outStream The output stream to write the protected message to.
+   *                  The application is responsible for sending this to the
+   *                  other peer for processing in its unwrap method.
+   * @param msgProp   Instance of {@link MessageProp} that is used by the
+   *                  application to set the desired QOP and privacy state.
+   *                  Set the desired QOP to 0 to request the default QOP.
+   *                  Upon return from this method, this object will contain
+   *                  the the actual privacy state that was applied to the
+   *                  message by the underlying mechanism.
+   * @throws GSSException If this operation fails.
+   */
+  void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Used by the peer application to process tokens generated with the
+   * wrap call. This call is equal in functionality to its stream
+   * counterpart. The method will return the message supplied in the peer
+   * application to the wrap call, verifying the embedded MIC.</p>
+   *
+   * <p>The {@link MessageProp} object is instantiated by the application and
+   * is used by the underlying mechanism to return information to the caller
+   * such as the QOP, whether confidentiality was applied to the message, and
+   * other supplementary message state information.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by wrap to provide "secure framing", implementations should support
+   * the wrapping and unwrapping of zero-length messages.</p>
+   *
+   * @param inBuf   GSS-API wrap token received from peer.
+   * @param offset  The offset within the inBuf where the token begins.
+   * @param len     The length of the token within the inBuf (starting at
+   *                the offset).
+   * @param msgProp Upon return from the method, this object will contain
+   *                the applied QOP, the privacy state of the message, and
+   *                supplementary information stating whether the token was
+   *                a duplicate, old, out of sequence or arriving after a gap.
+   * @return The unwrapped token.
+   * @throws GSSException If this operation fails.
+   */
+  byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Used by the peer application to process tokens generated with the
+   * wrap call.  This call is equal in functionality to its byte array
+   * counterpart.  It will produce the message supplied in the peer
+   * application to the wrap call, verifying the embedded MIC.</p>
+   *
+   * <p>The {@link MessageProp} object is instantiated by the application
+   * and is used by the underlying mechanism to return information to the
+   * caller such as the QOP, whether confidentiality was applied to the
+   * message, and other supplementary message state information.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by wrap to provide "secure framing", implementations should support
+   * the wrapping and unwrapping of zero-length messages.</p>
+   *
+   * @param inStream  Input stream containing the GSS-API wrap token
+   *                  received from the peer.
+   * @param outStream The output stream to write the application message to.
+   * @param msgProp   Upon return from the method, this object will contain
+   *                  the applied QOP, the privacy state of the message, and
+   *                  supplementary information stating whether the token was
+   *                  a duplicate, old, out of sequence or arriving after a gap.
+   * @throws GSSException If this operation fails.
+   */
+  void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Returns a token containing a cryptographic MIC for the supplied
+   * message, for transfer to the peer application.  Unlike wrap, which
+   * encapsulates the user message in the returned token, only the message
+   * MIC is returned in the output token.  This method is identical in
+   * functionality to its stream counterpart.</p>
+   *
+   * <p>Note that privacy can only be applied through the wrap call.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by getMIC to provide "secure framing", implementations should support
+   * derivation of MICs from zero-length messages.</p>
+   *
+   * @param inMsg   Message to generate MIC over.
+   * @param offset  The offset within the inMsg where the token begins.
+   * @param len     The length of the token within the inMsg (starting at
+   *                the offset).
+   * @param msgProp Instance of MessageProp that is used by the
+   *                application to set the desired QOP.  Set the desired
+   *                QOP to 0 in msgProp to request the default QOP.
+   *                Alternatively pass in <code>null</code> for msgProp to
+   *                request default QOP.
+   * @return The MIC.
+   * @throws GSSException If this operation fails.
+   */
+  byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Produces a token containing a cryptographic MIC for the supplied
+   * message, for transfer to the peer application.  Unlike wrap, which
+   * encapsulates the user message in the returned token, only the message
+   * MIC is produced in the output token.  This method is identical in
+   * functionality to its byte array counterpart.</p>
+   *
+   * <p>Note that privacy can only be applied through the wrap call.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by getMIC to provide "secure framing", implementations should support
+   * derivation of MICs from zero-length messages.</p>
+   *
+   * @param inStream  Input stream containing the message to generate
+   *                  the MIC over.
+   * @param outStream Output stream to write the GSS-API output token to.
+   * @param msgProp   Instance of MessageProp that is used by the
+   *                  application to set the desired QOP.  Set the desired
+   *                  QOP to 0 in msgProp to request the default QOP.
+   *                  Alternatively pass in <code>null</code> for msgProp
+   *                  to request default QOP.
+   * @throws GSSException If this operation fails.
+   */
+  void getMIC(InputStream inStream, OutputStream outStream, MessageProp mgProp)
+    throws GSSException;
+
+  /**
+   * <p>Verifies the cryptographic MIC, contained in the token parameter,
+   * over the supplied message.  This method is equivalent in
+   * functionality to its stream counterpart.</p>
+   *
+   * <p>The MessageProp object is instantiated by the application and is used
+   * by the underlying mechanism to return information to the caller such
+   * as the QOP indicating the strength of protection that was applied to
+   * the message and other supplementary message state information.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by getMIC to provide "secure framing", implementations should support
+   * the calculation and verification of MICs over zero-length messages.</p>
+   *
+   * @param inTok     Token generated by peer's getMIC method.
+   * @param tokOffset The offset within the inTok where the token begins.
+   * @param tokLen    The length of the token within the inTok (starting at
+   *                  the offset).
+   * @param inMsg     Application message to verify the cryptographic MIC
+   *                  over.
+   * @param msgOffset The offset within the inMsg where the message begins.
+   * @param msgLen    The length of the message within the inMsg (starting
+   *                  at the offset).
+   * @param msgProp   Upon return from the method, this object will contain
+   *                  the applied QOP and supplementary information
+   *                  stating whether the token was a duplicate, old, out
+   *                  of sequence or arriving after a gap.  The
+   *                  confidentiality state will be set to <code>false</code>.
+   * @throws GSSException If this operation fails.
+   */
+  void verifyMIC(byte[] inTok, int tokOffset, int tokLen, byte[] inMsg,
+                 int msgOffset, int msgLen, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Verifies the cryptographic MIC, contained in the token parameter,
+   * over the supplied message.  This method is equivalent in
+   * functionality to its byte array counterpart.</p>
+   *
+   * <p>The MessageProp object is instantiated by the application and is used
+   * by the underlying mechanism to return information to the caller such
+   * as the QOP indicating the strength of protection that was applied to
+   * the message and other supplementary message state information.</p>
+   *
+   * <p>Since some application-level protocols may wish to use tokens emitted
+   * by getMIC to provide "secure framing", implementations should support
+   * the calculation and verification of MICs over zero-length messages.</p>
+   *
+   * @param tokStream Input stream containing the token generated by peer's
+   *                  getMIC method.
+   * @param msgStream Input stream containing the application message to
+   *                  verify the cryptographic MIC over.
+   * @param msgProp   Upon return from the method, this object will contain
+   *                  the applied QOP and supplementary information
+   *                  stating whether the token was a duplicate, old, out of
+   *                  sequence or arriving after a gap.  The confidentiality
+   *                  state will be set to <code>false</code>.
+   * @throws GSSException If this operation fails.
+   */
+  void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp)
+    throws GSSException;
+
+  /**
+   * <p>Provided to support the sharing of work between multiple processes.
+   * This routine will typically be used by the context-acceptor, in an
+   * application where a single process receives incoming connection
+   * requests and accepts security contexts over them, then passes the
+   * established context to one or more other processes for message
+   * exchange.</p>
+   *
+   * <p>This method deactivates the security context and creates an
+   * interprocess token which, when passed to the byte array constructor
+   * of the GSSContext interface in another process, will re-activate the
+   * context in the second process.  Only a single instantiation of a
+   * given context may be active at any one time; a subsequent attempt by
+   * a context exporter to access the exported security context will fail.</p>
+   *
+   * <p>The implementation may constrain the set of processes by which the
+   * interprocess token may be imported, either as a function of local
+   * security policy, or as a result of implementation decisions.  For
+   * example, some implementations may constrain contexts to be passed
+   * only between processes that run under the same account, or which are
+   * part of the same process group.</p>
+   *
+   * <p>The interprocess token may contain security-sensitive information
+   * (for example cryptographic keys).  While mechanisms are encouraged to
+   * either avoid placing such sensitive information within interprocess
+   * tokens, or to encrypt the token before returning it to the
+   * application, in a typical GSS-API implementation this may not be
+   * possible.  Thus the application must take care to protect the
+   * interprocess token, and ensure that any process to which the token is
+   * transferred is trustworthy.</p>
+   *
+   * @return The exported context.
+   * @throws GSSException If this operation fails.
+   */
+  byte[] export() throws GSSException;
+
+  /**
+   * <p>Sets the request state of the mutual authentication flag for the
+   * context.  This method is only valid before the context creation
+   * process begins and only for the initiator.</p>
+   *
+   * @param state Boolean representing if mutual authentication should
+   *              be requested during context establishment.
+   * @throws GSSException If this operation fails.
+   */
+  void requestMutualAuth(boolean state) throws GSSException;
+
+  /**
+   * <p>Sets the request state of the replay detection service for the
+   * context.  This method is only valid before the context creation
+   * process begins and only for the initiator.</p>
+   *
+   * @param state Boolean representing if replay detection is desired
+   *              over the established context.
+   * @throws GSSException If this operation fails.
+   */
+  void requestReplayDet(boolean state) throws GSSException;
+
+  /**
+   * <p>Sets the request state for the sequence checking service of the
+   * context.  This method is only valid before the context creation
+   * process begins and only for the initiator.</p>
+   *
+   * @param state Boolean representing if sequence detection is desired
+   *              over the established context.
+   * @throws GSSException If this operation fails.
+   */
+  void requestSequenceDet(boolean state) throws GSSException;
+
+  /**
+   * <p>Sets the request state for the credential delegation flag for the
+   * context.  This method is only valid before the context creation
+   * process begins and only for the initiator.</p>
+   *
+   * @param state Boolean representing if credential delegation is
+   *              desired.
+   * @throws GSSException If this operation fails.
+   */
+  void requestCredDeleg(boolean state) throws GSSException;
+
+  /**
+   * <p>Requests anonymous support over the context.  This method is only
+   * valid before the context creation process begins and only for the
+   * initiator.</p>
+   *
+   * @param state Boolean representing if anonymity support is requested.
+   * @throws GSSException If this operation fails.
+   */
+  void requestAnonymity(boolean state) throws GSSException;
+
+  /**
+   * <p>Requests that confidentiality service be available over the context.
+   * This method is only valid before the context creation process begins
+   * and only for the initiator.</p>
+   *
+   * @param state Boolean indicating if confidentiality services are to
+   *              be requested for the context.
+   * @throws GSSException If this operation fails.
+   */
+  void requestConf(boolean state) throws GSSException;
+
+  /**
+   * <p>Requests that integrity services be available over the context. This
+   * method is only valid before the context creation process begins and
+   * only for the initiator.</p>
+   *
+   * @param state Boolean indicating if integrity services are to be
+   *              requested for the context.
+   * @throws GSSException If this operation fails.
+   */
+  void requestInteg(boolean state) throws GSSException;
+
+  /**
+   * <p>Sets the desired lifetime for the context in seconds. This method is
+   * only valid before the context creation process begins and only for
+   * the initiator. Use {@link #INDEFINITE_LIFETIME} and {@link
+   * #DEFAULT_LIFETIME} to request indefinite or default context lifetime.</p>
+   *
+   * @param lifetime The desired context lifetime in seconds.
+   * @throws GSSException If this operation fails.
+   */
+  void requestLifetime(int lifetime) throws GSSException;
+
+  /**
+   * <p>Sets the channel bindings to be used during context establishment.
+   * This method is only valid before the context creation process begins.</p>
+   *
+   * @param cb Channel bindings to be used.
+   * @throws GSSException If this operation fails.
+   */
+  void setChannelBinding(ChannelBinding cb) throws GSSException;
+
+  /**
+   * <p>Returns the state of the delegated credentials for the context.
+   * When issued before context establishment is completed or when the
+   * isProtReady method returns "false", it returns the desired state,
+   * otherwise it will indicate the actual state over the established
+   * context.</p>
+   *
+   * @return The state of the delegated credentials for the context.
+   */
+  boolean getCredDelegState();
+
+  /**
+   * <p>Returns the state of the mutual authentication option for the
+   * context.  When issued before context establishment completes or when
+   * the isProtReady method returns "false", it returns the desired state,
+   * otherwise it will indicate the actual state over the established
+   * context.</p>
+   *
+   * @return The state of the mutual authentication option.
+   */
+  boolean getMutualAuthState();
+
+  /**
+   * <p>Returns the state of the replay detection option for the context.
+   * When issued before context establishment completes or when the
+   * isProtReady method returns "false", it returns the desired state,
+   * otherwise it will indicate the actual state over the established
+   * context.</p>
+   *
+   * @return The state of the replay detection option.
+   */
+  boolean getReplayDetState();
+
+  /**
+   * <p>Returns the state of the sequence detection option for the context.
+   * When issued before context establishment completes or when the
+   * isProtReady method returns "false", it returns the desired state,
+   * otherwise it will indicate the actual state over the established
+   * context.</p>
+   *
+   * @return The state of the sequence detection option.
+   */
+  boolean getSequenceDetState();
+
+  /**
+   * <p>Returns "true" if this is an anonymous context. When issued before
+   * context establishment completes or when the isProtReady method
+   * returns "false", it returns the desired state, otherwise it will
+   * indicate the actual state over the established context.</p>
+   *
+   * @return True if this is an anonymous context.
+   */
+  boolean getAnonymityState();
+
+  /**
+   * <p>Returns "true" if the context is transferable to other processes
+   * through the use of the {@link #export()} method. This call is only
+   * valid on fully established contexts.</p>
+   *
+   * @return True if the context is transferable.
+   * @throws GSSException If this operation fails.
+   */
+  boolean isTransferable() throws GSSException;
+
+  /**
+   * <p>Returns "true" if the per message operations can be applied over
+   * the context.  Some mechanisms may allow the usage of per-message
+   * operations before the context is fully established.  This will also
+   * indicate that the get methods will return actual context state
+   * characteristics instead of the desired ones.</p>
+   *
+   * @return True if the per message operations can be applied over
+   *         the context.
+   */
+  boolean isProtReady();
+
+  /**
+   * <p>Returns the confidentiality service state over the context. When
+   * issued before context establishment completes or when the isProtReady
+   * method returns "false", it returns the desired state, otherwise it
+   * will indicate the actual state over the established context.</p>
+   *
+   * @return True the confidentiality service state.
+   */
+  boolean getConfState();
+
+  /**
+   * <p>Returns the integrity service state over the context. When issued
+   * before context establishment completes or when the isProtReady method
+   * returns "false", it returns the desired state, otherwise it will
+   * indicate the actual state over the established context.</p>
+   *
+   * @return The integrity service state.
+   */
+  boolean getIntegState();
+
+  /**
+   * <p>Returns the context lifetime in seconds. When issued before context
+   * establishment completes or when the isProtReady method returns
+   * "false", it returns the desired lifetime, otherwise it will indicate
+   * the remaining lifetime for the context.</p>
+   *
+   * @return The lifetime.
+   */
+  int getLifetime();
+
+  /**
+   * <p>Returns the name of the context initiator. This call is valid only
+   * after the context is fully established or the isProtReady method
+   * returns "true".  It is guaranteed to return an MN.</p>
+   *
+   * @return The name of the context initiator.
+   * @throws GSSException If this operation fails.
+   */
+  GSSName getSrcName() throws GSSException;
+
+  /**
+   * <p>Returns the name of the context target (acceptor).  This call is
+   * valid only after the context is fully established or the isProtReady
+   * method returns "true".  It is guaranteed to return an MN.</p>
+   *
+   * @return The name of the context target.
+   * @throws GSSException If this operation fails.
+   */
+  GSSName getTargName() throws GSSException;
+
+  /**
+   * <p>Returns the mechanism oid for this context. This method may be called
+   * before the context is fully established, but the mechanism returned
+   * may change on successive calls in negotiated mechanism case.</p>
+   *
+   * @return The mechanism OID.
+   * @throws GSSException If this operation fails.
+   */
+  Oid getMech() throws GSSException;
+
+  /**
+   * <p>Returns the delegated credential object on the acceptor's side.
+   * To check for availability of delegated credentials call
+   * {@link #getDelegCredState()}. This call is only valid on fully
+   * established contexts.</p>
+   *
+   * @return The delegated credential object.
+   * @throws GSSException If this operation fails.
+   */
+  GSSCredential getDelegCred() throws GSSException;
+
+  /**
+   * <p>Returns "true" if this is the initiator of the context. This call is
+   * only valid after the context creation process has started.</p>
+   *
+   * @return True if this is the initiator.
+   * @throws GSSException If this operation fails.
+   */
+  boolean isInitiator() throws GSSException;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSCredential.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,344 @@
+/* GSSCredential.java -- GSS credential interface.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+/**
+ * <p>This interface encapsulates the GSS-API credentials for an entity.
+ * A credential contains all the necessary cryptographic information to
+ * enable the creation of a context on behalf of the entity that it
+ * represents.  It may contain multiple, distinct, mechanism specific
+ * credential elements, each containing information for a specific
+ * security mechanism, but all referring to the same entity.</p>
+ *
+ * <p>A credential may be used to perform context initiation, acceptance,
+ * or both.</p>
+ *
+ * <p>GSS-API implementations must impose a local access-control policy on
+ * callers to prevent unauthorized callers from acquiring credentials to
+ * which they are not entitled.  GSS-API credential creation is not
+ * intended to provide a "login to the network" function, as such a
+ * function would involve the creation of new credentials rather than
+ * merely acquiring a handle to existing credentials.  Such functions,
+ * if required, should be defined in implementation-specific extensions
+ * to the API.</p>
+ *
+ * <p>If credential acquisition is time-consuming for a mechanism, the
+ * mechanism may choose to delay the actual acquisition until the
+ * credential is required (e.g.  by {@link GSSContext}). Such mechanism-
+ * specific implementation decisions should be invisible to the calling
+ * application; thus the query methods immediately following the
+ * creation of a credential object must return valid credential data,
+ * and may therefore incur the overhead of a deferred credential
+ * acquisition.</p>
+ *
+ * <p>Applications will create a credential object passing the desired
+ * parameters.  The application can then use the query methods to obtain
+ * specific information about the instantiated credential object
+ * (equivalent to the gss_inquire routines).  When the credential is no
+ * longer needed, the application should call the dispose (equivalent to
+ * gss_release_cred) method to release any resources held by the
+ * credential object and to destroy any cryptographically sensitive
+ * information.</p>
+ *
+ * <p>Classes implementing this interface also implement the {@link Cloneable}
+ * interface. This indicates the the class will support the {@link
+ * Cloneable#clone()} method that will allow the creation of duplicate
+ * credentials. This is useful when called just before the {@link
+ * #add(org.ietf.jgss.GSSName,int,int,org.ietf.jgss.Oid,int)} call to retain
+ * a copy of the original credential.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// start by creating a name object for the entity
+GSSName name = mgr.createName("userName", GSSName.NT_USER_NAME);
+
+// now acquire credentials for the entity
+GSSCredential cred = mgr.createCredential(name,
+                                          GSSCredential.ACCEPT_ONLY);
+
+// display credential information - name, remaining lifetime,
+// and the mechanisms it has been acquired over
+print(cred.getName().toString());
+print(cred.getRemainingLifetime());
+
+Oid [] mechs = cred.getMechs();
+if (mechs != null)
+  {
+    for (int i = 0; i < mechs.length; i++)
+      print(mechs[i].toString());
+  }
+
+// release system resources held by the credential
+cred.dispose();
+ * </pre>
+ */
+public interface GSSCredential extends Cloneable
+{
+
+  // Constants.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Credential usage flag requesting that it be able to be used for both
+   * context initiation and acceptance.
+   */
+  int INITIATE_AND_ACCEPT = 0;
+
+  /**
+   * Credential usage flag requesting that it be able to be used for
+   * context initiation only.
+   */
+  int INITIATE_ONLY = 1;
+
+  /**
+   * Credential usage flag requesting that it be able to be used for
+   * context acceptance only.
+   */
+  int ACCEPT_ONLY = 2;
+
+  /**
+   * A lifetime constant representing the default credential lifetime.
+   */
+  int DEFAULT_LIFETIME = 0;
+
+  /**
+   * A lifetime constant representing indefinite credential lifetime.
+   */
+  int INDEFINITE_LIFETIME = Integer.MAX_VALUE;
+
+  // Methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Releases any sensitive information that the GSSCredential object may
+   * be containing.  Applications should call this method as soon as the
+   * credential is no longer needed to minimize the time any sensitive
+   * information is maintained.
+   *
+   * @throws GSSException If this operation fails.
+   */
+  void dispose() throws GSSException;
+
+  /**
+   * Retrieves the name of the entity that the credential asserts.
+   *
+   * @return The name.
+   * @throws GSSException If this operation fails.
+   */
+  GSSName getName() throws GSSException;
+
+  /**
+   * Retrieves a mechanism name of the entity that the credential asserts.
+   * Equivalent to calling {@link GSSName#canonicalize(org.ietf.jgss.Oid)}
+   * on the name returned by {@link #getName()}.
+   *
+   * @param mechOID The mechanism for which information should be returned.
+   * @return The name.
+   * @throws GSSException If this operation fails.
+   */
+  GSSName getName(Oid mechOID) throws GSSException;
+
+  /**
+   * Returns the remaining lifetime in seconds for a credential.  The
+   * remaining lifetime is the minimum lifetime for any of the underlying
+   * credential mechanisms.  A return value of {@link
+   * GSSCredential#INDEFINITE_LIFETIME} indicates that the credential does
+   * not expire.  A return value of 0 indicates that the credential is
+   * already expired.
+   *
+   * @return The remaining lifetime.
+   * @throws GSSException If this operation fails.
+   */
+  int getRemainingLifetime() throws GSSException;
+
+  /**
+   * Returns the remaining lifetime is seconds for the credential to
+   * remain capable of initiating security contexts under the specified
+   * mechanism.  A return value of {@link GSSCredential#INDEFINITE_LIFETIME}
+   * indicates that the credential does not expire for context initiation.
+   * A return value of 0 indicates that the credential is already expired.
+   *
+   * @param mech The mechanism for which information should be returned.
+   * @return The remaining lifetime.
+   * @throws GSSException If this operation fails.
+   */
+  int getRemainingInitLifetime(Oid mech) throws GSSException;
+
+  /**
+   * Returns the remaining lifetime is seconds for the credential to
+   * remain capable of accepting security contexts under the specified
+   * mechanism.  A return value of {@link GSSCredential#INDEFINITE_LIFETIME}
+   * indicates that the credential does not expire for context acceptance.
+   * A return value of 0 indicates that the credential is already expired.
+   *
+   * @param mech The mechanism for which information should be returned.
+   * @return The remaining lifetime.
+   * @throws GSSException If this operation fails.
+   */
+  int getRemainingAcceptLifetime(Oid mech) throws GSSException;
+
+  /**
+   * Returns the credential usage flag.  The return value will be one of
+   * {@link GSSCredential#INITIATE_ONLY}, {@link GSSCredential#ACCEPT_ONLY},
+   * or {@link GSSCredential#INITIATE_AND_ACCEPT}.
+   *
+   * @return The credential usage flag.
+   * @throws GSSException If this operation fails.
+   */
+  int getUsage() throws GSSException;
+
+  /**
+   * Returns the credential usage flag for the specified credential
+   * mechanism.  The return value will be one of
+   * {@link GSSCredential#INITIATE_ONLY}, {@link GSSCredential#ACCEPT_ONLY},
+   * or {@link GSSCredential#INITIATE_AND_ACCEPT}.
+   *
+   * @param mechOID The mechanism for which information should be returned.
+   * @return The credential usage flag.
+   * @throws GSSException If this operation fails.
+   */
+  int getUsage(Oid mechOID) throws GSSException;
+
+  /**
+   * Returns an array of mechanisms supported by this credential.
+   *
+   * @return The supported mechanism.
+   * @throws GSSException If this operation fails.
+   */
+  Oid[] getMechs() throws GSSException;
+
+  /**
+   * <p>Adds a mechanism specific credential-element to an existing
+   * credential.  This method allows the construction of credentials one
+   * mechanism at a time.</p>
+   *
+   * <p>This routine is envisioned to be used mainly by context acceptors
+   * during the creation of acceptance credentials which are to be used
+   * with a variety of clients using different security mechanisms.</p>
+   *
+   * <p>This routine adds the new credential element "in-place".  To add the
+   * element in a new credential, first call {@link Cloneable#clone()} to
+   * obtain a copy of this credential, then call its <code>add()</code>
+   * method.</p>
+   *
+   * @param aName          Name of the principal for whom this credential
+   *                       is to be acquired. Use <code>null</code> to
+   *                       specify the default principal.
+   * @param initLifetime   The number of seconds that credentials should
+   *                       remain valid for initiating of security contexts.
+   *                       Use {@link #INDEFINITE_LIFETIME} to request that
+   *                       the credentials have the maximum permitted lifetime.
+   *                       Use {@link GSSCredential#DEFAULT_LIFETIME} to
+   *                       request the default credential lifetime.
+   * @param acceptLifetime The number of seconds that credentials should
+   *                       remain valid for accepting of security contexts.
+   *                       Use {@link GSSCredential#INDEFINITE_LIFETIME} to
+   *                       request that the credentials have the maximum
+   *                       permitted lifetime. Use {@link
+   *                       GSSCredential#DEFAULT_LIFETIME} to request
+   *                       the default credential lifetime.
+   * @param mech           The mechanisms over which the credential is to be
+   *                       acquired.
+   * @param usage          The intended usage for this credential object. The
+   *                       value of this parameter must be one of:
+   *                       {@link GSSCredential#ACCEPT_AND_INITIATE},
+   *                       {@link GSSCredential#ACCEPT_ONLY},
+   *                       {@link GSSCredential#INITIATE_ONLY}.
+   * @throws GSSException If this operation fails.
+   */
+  void add(GSSName aName, int initLifetime, int acceptLifetime,
+           Oid mech, int usage) throws GSSException;
+
+  /**
+   * Tests if this GSSCredential refers to the same entity as the supplied
+   * object.  The two credentials must be acquired over the same
+   * mechanisms and must refer to the same principal. Returns <code>true</code>
+   * if the two GSSCredentials refer to the same entity; <code>false</code>
+   * otherwise. (Note that the Java language specification requires that two
+   * objects that are equal according to the {@link
+   * Object#equals(java.lang.Object)} method must return the same integer
+   * result when the {@link Object#hashCode()} method is called on them.)
+   *
+   * @param another Another GSSCredential object for comparison.
+   * @return True if this object equals the other.
+   */
+  boolean equals(Object another);
+
+  /**
+   * Return the hash code of this credential. When overriding {@link #equals},
+   * it is necessary to override hashCode() as well.
+   *
+   * @return the hash code that must be the same for two credentials if
+   * {@link #equals} returns true.
+   */
+  int hashCode();
+
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSException.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,448 @@
+/* GSSException.java -- a general exception in GSS.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.util.PropertyResourceBundle;
+import java.util.ResourceBundle;
+
+/**
+ * This exception is thrown whenever a fatal GSS-API error occurs
+ * including mechanism specific errors.  It may contain both, the major
+ * and minor, GSS-API status codes.  The mechanism implementers are
+ * responsible for setting appropriate minor status codes when throwing
+ * this exception.  Aside from delivering the numeric error code(s) to
+ * the caller, this class performs the mapping from their numeric values
+ * to textual representations.  All Java GSS-API methods are declared
+ * throwing this exception.
+ *
+ * @specnote Some of the constant values defined in this class were
+ * chosen to be compatible with J2SE 1.4, and not with RFC 2853.
+ */
+public class GSSException extends Exception
+{
+  /**
+   * For compatability with Sun's JDK 1.4.2 rev. 5
+   */
+  private static final long serialVersionUID = -2706218945227726672L;
+
+  // Constants and fields.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Channel bindings mismatch error.
+   * @specnote Should be 4 according to RFC 2853.
+   */
+  public static final int BAD_BINDINGS = 1;
+
+  /**
+   * Unsupported mechanism requested error.
+   * @specnote Should be 1 according to RFC 2853.
+   */
+  public static final int BAD_MECH = 2;
+
+  /**
+   * Invalid name provided error.
+   * @specnote Should be 2 according to RFC 2853.
+   */
+  public static final int BAD_NAME = 3;
+
+  /**
+   * Name of unsupported type provided error.
+   * @specnote Should be 3 according to RFC 2853.
+   */
+  public static final int BAD_NAMETYPE = 4;
+
+  /**
+   * Invalid status code error - this is the default status value.
+   */
+  public static final int BAD_STATUS = 5;
+
+  /**
+   * Token had invalid integrity check error.
+   */
+  public static final int BAD_MIC = 6;
+
+  /**
+   * Specified security context expired error.
+   * @specnote Should be 12 according to RFC 2853.
+   */
+  public static final int CONTEXT_EXPIRED = 7;
+
+  /**
+   * Expired credentials detected error.
+   * @specnote Should be 11 according to RFC 2853.
+   */
+  public static final int CREDENTIALS_EXPIRED = 8;
+
+  /**
+   * Defective credential error.
+   * @specnote Should be 10 according to RFC 2853.
+   */
+  public static final int DEFECTIVE_CREDENTIAL = 9;
+
+  /**
+   * Defective token error.
+   * @specnote Should be 9 according to RFC 2853.
+   */
+  public static final int DEFECTIVE_TOKEN = 10;
+
+  /**
+   * General failure, unspecified at GSS-API level.
+   * @specnote Should be 13 according to RFC 2853.
+   */
+  public static final int FAILURE = 11;
+
+  /**
+   * Invalid security context error.
+   * @specnote Should be 8 according to RFC 2853.
+   */
+  public static final int NO_CONTEXT = 12;
+
+  /**
+   * Invalid credentials error.
+   * @specnote Should be 7 according to RFC 2853.
+   */
+  public static final int NO_CRED = 13;
+
+  /**
+   * Unsupported QOP value error.
+   */
+  public static final int BAD_QOP = 14;
+
+  /**
+   * Operation unauthorized error.
+   */
+  public static final int UNAUTHORIZED = 15;
+
+  /**
+   * Operation unavailable error.
+   */
+  public static final int UNAVAILABLE = 16;
+
+  /**
+   * Duplicate credential element requested error.
+   */
+  public static final int DUPLICATE_ELEMENT = 17;
+
+  /**
+   * Name contains multi-mechanism elements error.
+   */
+  public static final int NAME_NOT_MN = 18;
+
+  /**
+   * The token was a duplicate of an earlier token.  This is a fatal error
+   * code that may occur during context establishment.  It is not used to
+   * indicate supplementary status values.  The MessageProp object is used
+   * for that purpose.
+   * @specnote Should be 20 according to RFC 2853.
+   */
+  public static final int DUPLICATE_TOKEN = 19;
+
+  /**
+   * The token's validity period has expired.  This is a fatal error code
+   * that may occur during context establishment.  It is not used to
+   * indicate supplementary status values.  The MessageProp object is used
+   * for that purpose.
+   * @specnote Should be 19 according to RFC 2853.
+   */
+  public static final int OLD_TOKEN = 20;
+
+  /**
+   * A later token has already been processed.  This is a fatal error code
+   * that may occur during context establishment.  It is not used to
+   * indicate supplementary status values.  The MessageProp object is used
+   * for that purpose.
+   */
+  public static final int UNSEQ_TOKEN = 21;
+
+  /**
+   * An expected per-message token was not received.  This is a fatal
+   * error code that may occur during context establishment.  It is not
+   * used to indicate supplementary status values.  The MessageProp object
+   * is used for that purpose.
+   */
+  public static final int GAP_TOKEN = 22;
+
+  private final int major;
+  private int minor;
+  private String minorString;
+
+  private ResourceBundle messages;
+
+  // Constructors.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Create a new GSS exception with the given major code.
+   *
+   * @param major The major GSS error code.
+   */
+  public GSSException(int major)
+  {
+    this(major, 0, null);
+  }
+
+  /**
+   * Create a new GSS exception with the given major and minor codes, and a
+   * minor explanation string.
+   *
+   * @param major The major GSS error code.
+   * @param minor The minor application-specific error code.
+   * @param minorString An explanation of the minor error code.
+   */
+  public GSSException(int major, int minor, String minorString)
+  {
+    this.major = major;
+    this.minor = minor;
+    this.minorString = minorString;
+    try
+      {
+        messages = PropertyResourceBundle.getBundle("org/ietf/jgss/MessagesBundle");
+      }
+    catch (Exception e)
+      {
+        messages = null;
+      }
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Returns the major code representing the GSS error code that caused
+   * this exception to be thrown.
+   *
+   * @return The major error code.
+   */
+  public int getMajor()
+  {
+    return major;
+  }
+
+  /**
+   * Returns the mechanism error code that caused this exception.  The
+   * minor code is set by the underlying mechanism.  Value of 0 indicates
+   * that mechanism error code is not set.
+   *
+   * @return The minor error code, or 0 if not set.
+   */
+  public int getMinor()
+  {
+    return minor;
+  }
+
+  /**
+   * Returns a string explaining the GSS major error code causing this
+   * exception to be thrown.
+   *
+   * @return The major error string.
+   */
+  public String getMajorString()
+  {
+    switch (major)
+      {
+      case BAD_MECH:
+        return getMsg("GSSException.BAD_MECH",
+                      "An unsupported mechanism was requested.");
+      case BAD_NAME:
+        return getMsg("GSSException.BAD_NAME",
+                      "An invalid name was supplied.");
+      case BAD_NAMETYPE:
+        return getMsg("GSSException.BAD_NAMETYPE",
+                      "A supplied name was of an unsupported type.");
+      case BAD_BINDINGS:
+        return getMsg("GSSException.BAD_BINDINGS",
+                      "Incorrect channel bindings were supplied.");
+      case BAD_STATUS:
+        return getMsg("GSSException.BAD_STATUS",
+                      "An invalid status code was supplied.");
+      case BAD_MIC:
+        return getMsg("GSSException.BAD_MIC",
+                      "A token had an invalid MIC.");
+      case NO_CRED:
+        return getMsg("GSSException.NO_CRED",
+                      "No credentials were supplied, or the credentials were "+
+                      "unavailable or inaccessible.");
+      case NO_CONTEXT:
+        return getMsg("GSSException.NO_CONTEXT",
+                      "Invalid context has been supplied.");
+      case DEFECTIVE_TOKEN:
+        return getMsg("GSSException.DEFECTIVE_TOKEN",
+                      "A supplied token was invalid.");
+      case DEFECTIVE_CREDENTIAL:
+        return getMsg("GSSException.DEFECTIVE_CREDENTIAL",
+                      "A supplied credential was invalid.");
+      case CREDENTIALS_EXPIRED:
+        return getMsg("GSSException.CREDENTIALS_EXPIRED",
+                      "The referenced credentials have expired.");
+      case CONTEXT_EXPIRED:
+        return getMsg("GSSException.CONTEXT_EXPIRED",
+                      "The context has expired.");
+      case FAILURE:
+        return getMsg("GSSException.FAILURE",
+                      "Miscellaneous failure.");
+      case BAD_QOP:
+        return getMsg("GSSException.BAD_QOP",
+                      "The quality-of-protection requested could not be provided.");
+      case UNAUTHORIZED:
+        return getMsg("GSSException.UNAUTHORIZED",
+                      "The operation is forbidden by local security policy.");
+      case UNAVAILABLE:
+        return getMsg("GSSException.UNAVAILABLE",
+                      "The operation or option is unavailable.");
+      case DUPLICATE_ELEMENT:
+        return getMsg("GSSException.DUPLICATE_ELEMENT",
+                      "The requested credential element already exists.");
+      case NAME_NOT_MN:
+        return getMsg("GSSException.NAME_NOT_MN",
+                      "The provided name was not a mechanism name.");
+      case OLD_TOKEN:
+        return getMsg("GSSException.OLD_TOKEN",
+                      "The token's validity period has expired.");
+      case DUPLICATE_TOKEN:
+        return getMsg("GSSException.DUPLICATE_TOKEN",
+                      "The token was a duplicate of an earlier version.");
+      case UNSEQ_TOKEN:
+        return getMsg("GSSException.UNSEQ_TOKEN",
+                      "A later token has already been processed.");
+      case GAP_TOKEN:
+        return getMsg("GSSException.GAP_TOKEN",
+                      "An expected per-message token was not received.");
+      default: return "Unknown or invalid error code.";
+      }
+  }
+
+  /**
+   * Returns a string explaining the mechanism specific error code.
+   * <code>null</code> will be returned when no mechanism error code has
+   * been set.
+   *
+   * @return The minor error string, or <code>null</code>.
+   */
+  public String getMinorString()
+  {
+    return minorString;
+  }
+
+  /**
+   * Used internally by the GSS-API implementation and the underlying
+   * mechanisms to set the minor code and its textual representation.
+   *
+   * @param minorCode The mechanism specific error code.
+   * @param message   A textual explanation of the mechanism error code.
+   */
+  public void setMinor(int minorCode, String message)
+  {
+    this.minor = minorCode;
+    this.minorString = message;
+  }
+
+  /**
+   * Returns a textual representation of both the major and minor status
+   * codes.
+   *
+   * @return The textual representation.
+   */
+  public String toString()
+  {
+    return GSSException.class.getName() + ": " + getMessage();
+  }
+
+  /**
+   * Returns a detailed message of this exception.  Overrides {@link
+   * Throwable#getMessage()}. It is customary in Java to use this method to
+   * obtain exception information.
+   *
+   * @return The detail message.
+   */
+  public String getMessage()
+  {
+    if (minor == 0)
+      return getMajorString();
+    else
+      return getMajorString() + " (" + minorString + ")";
+  }
+
+  // Own methods.
+  // -------------------------------------------------------------------------
+
+  private String getMsg(String key, String defaultText)
+  {
+    if (messages != null)
+      {
+        try
+          {
+            return messages.getString(key);
+          }
+        catch (Exception e)
+          {
+          }
+      }
+    return defaultText;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSManager.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,501 @@
+/* GSSManager.java -- manager class for the GSS-API.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.security.Provider;
+import java.security.Security;
+
+/**
+ * <p>The GSSManager class is an abstract class that serves as a factory
+ * for three GSS interfaces: {@link GSSName}, {@link GSSCredential}, and
+ * {@link GSSContext}. It also provides methods for applications to determine
+ * what mechanisms are available from the GSS implementation and what
+ * nametypes these mechanisms support. An instance of the default GSSManager
+ * subclass may be obtained through the static method {@link #getInstance()},
+ * but applications are free to instantiate other subclasses of GSSManager.</p>
+ *
+ * <p>All but one method in this class are declared abstract. This means
+ * that subclasses have to provide the complete implementation for those
+ * methods. The only exception to this is the static method {@link
+ * #getInstance()} which will have platform specific code to return an
+ * instance of the default subclass.</p>
+ *
+ * <p>Platform providers of GSS are required not to add any constructors to
+ * this class, private, public, or protected. This will ensure that all
+ * subclasses invoke only the default constructor provided to the base
+ * class by the compiler.</p>
+ *
+ * <p>A subclass extending the GSSManager abstract class may be implemented
+ * as a modular provider based layer that utilizes some well known
+ * service provider specification. The GSSManager API provides the
+ * application with methods to set provider preferences on such an
+ * implementation. These methods also allow the implementation to throw
+ * a well-defined exception in case provider based configuration is not
+ * supported. Applications that expect to be portable should be aware of
+ * this and recover cleanly by catching the exception.</p>
+ *
+ * <p>It is envisioned that there will be three most common ways in which
+ * providers will be used:</p>
+ *
+ * <ol>
+ * <li>The application does not care about what provider is used (the
+ * default case).</li>
+ *
+ * <li>The application wants a particular provider to be used
+ * preferentially, either for a particular mechanism or all the
+ * time, irrespective of mechanism.</li>
+ *
+ * <li>The application wants to use the locally configured providers
+ * as far as possible but if support is missing for one or more
+ * mechanisms then it wants to fall back on its own provider.</li>
+ * </ol>
+ *
+ * <p>The GSSManager class has two methods that enable these modes of
+ * usage: {@link #addProviderAtFront(java.security.Provider,org.ietf.jgss.Oid)}
+ * and {@link #addProviderAtEnd(java.security.Provider,org.ietf.jgss.Oid)}.
+ * These methods have the effect of creating an ordered list of
+ * (<i>provider</i>, <i>oid</i>) pairs where each pair indicates a preference
+ * of provider for a given oid.</p>
+ *
+ * <p>The use of these methods does not require any knowledge of whatever
+ * service provider specification the GSSManager subclass follows. It is
+ * hoped that these methods will serve the needs of most applications.
+ * Additional methods may be added to an extended GSSManager that could
+ * be part of a service provider specification that is standardized
+ * later.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// What mechs are available to us?
+Oid[] supportedMechs = mgr.getMechs();
+
+// Set a preference for the provider to be used when support is needed
+// for the mechanisms "1.2.840.113554.1.2.2" and "1.3.6.1.5.5.1.1".
+
+Oid krb = new Oid("1.2.840.113554.1.2.2");
+Oid spkm1 = new Oid("1.3.6.1.5.5.1.1");
+
+Provider p = (Provider) (new com.foo.security.Provider());
+
+mgr.addProviderAtFront(p, krb);
+mgr.addProviderAtFront(p, spkm1);
+
+// What name types does this spkm implementation support?
+Oid[] nameTypes = mgr.getNamesForMech(spkm1);
+</pre>
+ */
+public abstract class GSSManager
+{
+
+  // Constructor.
+  // -------------------------------------------------------------------------
+
+  public GSSManager()
+  {
+  }
+
+  // Class method.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Returns the default GSSManager implementation.
+   *
+   * @return The default GSSManager implementation.
+   */
+  public static synchronized GSSManager getInstance()
+  {
+    String impl = Security.getProperty("org.ietf.jgss.GSSManager");
+    if (impl == null)
+      impl = "gnu.crypto.gssapi.GSSManagerImpl";
+    try
+      {
+        ClassLoader loader = GSSManager.class.getClassLoader();
+        if (loader == null)
+          loader = ClassLoader.getSystemClassLoader();
+        Class c = loader.loadClass(impl);
+        return (GSSManager) c.newInstance();
+      }
+    catch (Exception x)
+      {
+        throw new RuntimeException(x.toString());
+      }
+  }
+
+  // Abstract methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * <p>This method is used to indicate to the GSSManager that the
+   * application would like a particular provider to be used if no other
+   * provider can be found that supports the given mechanism. When a value
+   * of null is used instead of an Oid for the mechanism, the GSSManager
+   * must use the indicated provider for any mechanism.</p>
+   *
+   * <p>Calling this method repeatedly preserves the older settings but
+   * raises them above newer ones in preference thus forming an ordered
+   * list of providers and Oid pairs that grows at the bottom. Thus the
+   * older provider settings will be utilized first before this one is.</p>
+   *
+   * <p>If there are any previously existing preferences that conflict with
+   * the preference being set here, then the GSSManager should ignore this
+   * request.</p>
+   *
+   * <p>If the GSSManager implementation does not support an SPI with a
+   * pluggable provider architecture it should throw a GSSException with
+   * the status code {@link GSSException#UNAVAILABLE} to indicate that the
+   * operation is unavailable.</p>
+   *
+   * @param p    The provider instance that should be used whenever
+   *             support is needed for <i>mech</i>.
+   * @param mech The mechanism for which the provider is being set.
+   * @throws GSSException If this service is unavailable.
+   */
+  public abstract void addProviderAtEnd(Provider p, Oid mech)
+    throws GSSException;
+
+  /**
+   * <p>This method is used to indicate to the GSSManager that the
+   * application would like a particular provider to be used ahead of all
+   * others when support is desired for the given mechanism. When a value
+   * of null is used instead of an Oid for the mechanism, the GSSManager
+   * must use the indicated provider ahead of all others no matter what
+   * the mechanism is. Only when the indicated provider does not support
+   * the needed mechanism should the GSSManager move on to a different
+   * provider.</p>
+   *
+   * <p>Calling this method repeatedly preserves the older settings but
+   * lowers them in preference thus forming an ordered list of provider
+   * and Oid pairs that grows at the top.</p>
+   *
+   * <p>Calling addProviderAtFront with a null Oid will remove all previous
+   * preferences that were set for this provider in the GSSManager
+   * instance. Calling addProviderAtFront with a non-null Oid will remove
+   * any previous preference that was set using this mechanism and this
+   * provider together.</p>
+   *
+   * <p>If the GSSManager implementation does not support an SPI with a
+   * pluggable provider architecture it should throw a GSSException with
+   * the status code {@link GSSException#UNAVAILABLE} to indicate that the
+   * operation is unavailable.</p>
+   *
+   * @param p    The provider instance that should be used whenever
+   *             support is needed for <i>mech</i>.
+   * @param mech The mechanism for which the provider is being set.
+   * @throws GSSException If this service is unavailable.
+   */
+  public abstract void addProviderAtFront(Provider p, Oid mech)
+    throws GSSException;
+
+  /**
+   * Factory method for creating a previously exported context.  The
+   * context properties will be determined from the input token and can't
+   * be modified through the set methods.
+   *
+   * @param interProcessToken The token previously emitted from the
+   *                          export method.
+   * @return The context.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSContext createContext(byte[] interProcessToken)
+    throws GSSException;
+
+  /**
+   * Factory method for creating a context on the acceptor' side.  The
+   * context's properties will be determined from the input token supplied
+   * to the accept method.
+   *
+   * @param myCred Credentials for the acceptor.  Use <code>null</code> to
+   *               act as a default acceptor principal.
+   * @return The context.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSContext createContext(GSSCredential myCred)
+    throws GSSException;
+
+  /**
+   * Factory method for creating a context on the initiator's side.
+   * Context flags may be modified through the mutator methods prior to
+   * calling {@link
+   * GSSContext#initSecContext(java.io.InputStream,java.io.OutputStream)}.
+   *
+   * @param peer     Name of the target peer.
+   * @param mech     Oid of the desired mechanism.  Use <code>null</code>
+   *                 to request default mechanism.
+   * @param myCred   Credentials of the initiator.  Use <code>null</code>
+   *                 default initiator principal.
+   * @param lifetime The request lifetime, in seconds, for the context.
+   *                 Use {@link GSSContext#INDEFINITE_LIFETIME} and
+   *                 {@link GSSContext#DEFAULT_LIFETIME} to request
+   *                 indefinite or default context lifetime.
+   * @return The context.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSContext createContext(GSSName peer, Oid mech,
+                                           GSSCredential myCred, int lifetime)
+    throws GSSException;
+
+  /**
+   * Factory method for acquiring default credentials.  This will cause
+   * the GSS-API to use system specific defaults for the set of
+   * mechanisms, name, and a DEFAULT lifetime.
+   *
+   * @param usage The intended usage for this credential object.  The
+   *              value of this parameter must be one of:
+   *              {@link GSSCredential#ACCEPT_AND_INITIATE},
+   *              {@link GSSCredential#ACCEPT_ONLY},
+   *              {@link GSSCredential#INITIATE_ONLY}.
+   * @return The credential.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSCredential createCredential(int usage) throws GSSException;
+
+  /**
+   * Factory method for acquiring a single mechanism credential.
+   *
+   * @param aName    Name of the principal for whom this credential is to
+   *                 be acquired.  Use <code>null</code> to specify the
+   *                 default principal.
+   * @param lifetime The number of seconds that credentials should remain
+   *                 valid.  Use {@link GSSCredential#INDEFINITE_LIFETIME}
+   *                 to request that the credentials have the maximum
+   *                 permitted lifetime.  Use {@link
+   *                 GSSCredential#DEFAULT_LIFETIME} to request default
+   *                 credential lifetime.
+   * @param mech     The oid of the desired mechanism.  Use <code>null</code>
+   *                 to request the default mechanism(s).
+   * @param usage    The intended usage for this credential object.  The
+   *                 value of this parameter must be one of:
+   *                 {@link GSSCredential#ACCEPT_AND_INITIATE},
+   *                 {@link GSSCredential#ACCEPT_ONLY},
+   *                 {@link GSSCredential#INITIATE_ONLY}.
+   * @return The credential.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSCredential createCredential(GSSName aName, int lifetime,
+                                                 Oid mech, int usage)
+    throws GSSException;
+
+  /**
+   * Factory method for acquiring credentials over a set of mechanisms.
+   * Acquires credentials for each of the mechanisms specified in the
+   * array called mechs.  To determine the list of mechanisms' for which
+   * the acquisition of credentials succeeded, the caller should use the
+   * {@link GSSCredential#getMechs()} method.
+   *
+   * @param aName    Name of the principal for whom this credential is to
+   *                 be acquired.  Use <code>null</code> to specify the
+   *                 default principal.
+   * @param lifetime The number of seconds that credentials should remain
+   *                 valid.  Use {@link GSSCredential#INDEFINITE_LIFETIME}
+   *                 to request that the credentials have the maximum
+   *                 permitted lifetime.  Use {@link
+   *                 GSSCredential#DEFAULT_LIFETIME} to request default
+   *                 credential lifetime.
+   * @param mechs    The array of mechanisms over which the credential is
+   *                 to be acquired.  Use <code>null</code> for requesting
+   *                 a system specific default set of mechanisms.
+   * @param usage    The intended usage for this credential object.  The
+   *                 value of this parameter must be one of:
+   *                 {@link GSSCredential#ACCEPT_AND_INITIATE},
+   *                 {@link GSSCredential#ACCEPT_ONLY},
+   *                 {@link GSSCredential#INITIATE_ONLY}.
+   * @return The credential.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSCredential createCredential(GSSName aName, int lifetime,
+                                                 Oid[] mechs, int usage)
+    throws GSSException;
+
+  /**
+   * Factory method to convert a contiguous byte array containing a name
+   * from the specified namespace to a {@link GSSName} object.  In general,
+   * the {@link GSSName} object created will not be an MN; two examples that
+   * are exceptions to this are when the namespace type parameter indicates
+   * {@link GSSName#NT_EXPORT_NAME} or when the GSS-API implementation is not
+   * multi-mechanism.
+   *
+   * @param name     The byte array containing the name to create.
+   * @param nameType The Oid specifying the namespace of the name supplied
+   *                 in the byte array.  Note that nameType serves to
+   *                 describe and qualify the interpretation of the input
+   *                 name byte array, it does not necessarily imply a type
+   *                 for the output GSSName implementation. "null" value
+   *                 can be used to specify that a mechanism specific
+   *                 default syntax should be assumed by each mechanism
+   *                 that examines the byte array.
+   * @return The name.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSName createName(byte[] name, Oid nameType)
+    throws GSSException;
+
+  /**
+   * Factory method to convert a contiguous byte array containing a name
+   * from the specified namespace to a GSSName object that is an MN.  In
+   * other words, this method is a utility that does the equivalent of two
+   * steps: {@link #createName(byte[],org.ietf.jgss.Oid)} and then also
+   * {@link GSSName#canonicalize(org.ietf.jgss.Oid)}.
+   *
+   * @param name     The byte array representing the name to create.
+   * @param nameType The Oid specifying the namespace of the name supplied
+   *                 in the byte array.  Note that nameType serves to
+   *                 describe and qualify the interpretation of the input
+   *                 name byte array, it does not necessarily imply a type
+   *                 for the output GSSName implementation. "null" value
+   *                 can be used to specify that a mechanism specific
+   *                 default syntax should be assumed by each mechanism
+   *                 that examines the byte array.
+   * @param mech     Oid specifying the mechanism for which this name
+   *                 should be created.
+   * @return The name.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSName createName(byte[] name, Oid nameType, Oid mech)
+    throws GSSException;
+
+  /**
+   * Factory method to convert a contiguous string name from the specified
+   * namespace to a {@link GSSName} object.  In general, the {@link GSSName}
+   * object created will not be an MN; two examples that are exceptions to
+   * this are when the namespace type parameter indicates {@link
+   * GSSName#NT_EXPORT_NAME} or when the GSS-API implementation is not
+   * multi-mechanism.
+   *
+   * @param nameStr  The string representing a printable form of the name
+   *                 to create.
+   * @param nameType The Oid specifying the namespace of the printable name
+   *                 supplied. Note that nameType serves to describe and
+   *                 qualify the interpretation of the input nameStr, it
+   *                 does not necessarily imply a type for the output
+   *                 GSSName implementation. "null" value can be used to
+   *                 specify that a mechanism specific default printable
+   *                 syntax should be assumed by each mechanism that
+   *                 examines nameStr.
+   * @return The name.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSName createName(String nameStr, Oid nameType)
+    throws GSSException;
+
+  /**
+   * Factory method to convert a contiguous string name from the specified
+   * namespace to an GSSName object that is a mechanism name (MN).  In
+   * other words, this method is a utility that does the equivalent of two
+   * steps: the {@link #createName(java.lang.String,org.ietf.jgss.Oid)}
+   * and then also {@link GSSName#canonicalize(org.ietf.jgss.Oid)}.
+   *
+   * @param nameStr  The string representing a printable form of the name
+   *                 to create.
+   * @param nameType The Oid specifying the namespace of the printable name
+   *                 supplied.  Note that nameType serves to describe and
+   *                 qualify the interpretation of the input nameStr, it
+   *                 does not necessarily imply a type for the output
+   *                 GSSName implementation. "null" value can be used to
+   *                 specify that a mechanism specific default printable
+   *                 syntax should be assumed when the mechanism examines
+   *                 nameStr.
+   * @param mech     Oid specifying the mechanism for which this name
+   *                 should be created.
+   * @return The name.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract GSSName createName(String nameStr, Oid nameType, Oid mech)
+    throws GSSException;
+
+  /**
+   * Returns an array of {@link Oid} objects indicating mechanisms available
+   * to GSS-API callers.  A <code>null</code> value is returned when no
+   * mechanism are available (an example of this would be when mechanism are
+   * dynamically configured, and currently no mechanisms are installed).
+   *
+   * @return The array of available mechanisms, or <code>null</code>.
+   */
+  public abstract Oid[] getMechs();
+
+  /**
+   * Returns an array of {@link Oid} objects corresponding to the mechanisms
+   * that support the specific name type. <code>null</code> is returned when
+   * no mechanisms are found to support the specified name type.
+   *
+   * @param name The Oid object for the name type.
+   * @return The array of mechanisms, or <code>null</code>.
+   */
+  public abstract Oid[] getMechsForName(Oid name);
+
+  /**
+   * Returns name type Oid's supported by the specified mechanism.
+   *
+   * @param mechanism The Oid object for the mechanism to query.
+   * @return The name type Oid's supported by the mechanism.
+   * @throws GSSException If this operation fails.
+   */
+  public abstract Oid[] getNamesForMech(Oid mechanism) throws GSSException;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/GSSName.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,278 @@
+/* GSSName.java -- a name interface for GSS.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+/**
+ * <p>This interface encapsulates a single GSS-API principal entity.
+ * Different name formats and their definitions are identified with
+ * universal Object Identifiers (Oids).  The format of the names can be
+ * derived based on the unique oid of its namespace type.</p>
+ *
+ * <h3>Example Code</h3>
+ *
+ * <pre>
+GSSManager mgr = GSSManager.getInstance();
+
+// create a host based service name
+GSSName name = mgr.createName("service at host",
+                              GSSName.NT_HOSTBASED_SERVICE);
+
+Oid krb5 = new Oid("1.2.840.113554.1.2.2");
+
+GSSName mechName = name.canonicalize(krb5);
+
+// the above two steps are equivalent to the following
+GSSName mechName = mgr.createName("service at host",
+                                  GSSName.NT_HOSTBASED_SERVICE, krb5);
+
+// perform name comparison
+if (name.equals(mechName))
+  print("Names are equal.");
+
+// obtain textual representation of name and its printable
+// name type
+print(mechName.toString() +
+      mechName.getStringNameType().toString());
+
+// export and re-import the name
+byte [] exportName = mechName.export();
+
+// create a new name object from the exported buffer
+GSSName newName = mgr.createName(exportName,
+                                 GSSName.NT_EXPORT_NAME);
+</pre>
+ */
+public interface GSSName
+{
+
+  // Constants.
+  // -------------------------------------------------------------------------
+
+  /**
+   * <p>Name type for representing an anonymous entity. It represents the
+   * following value: <code>{ 1(iso), 3(org), 6(dod), 1(internet), 5(security),
+   * 6(nametypes), 3(gss-anonymous-name) }</code>.</p>
+   */
+  Oid NT_ANONYMOUS = new Oid(new int[] { 1, 3, 6, 1, 5, 6, 3 });
+
+  /**
+   * <p>Name type used to indicate an exported name produced by the export
+   * method. It represents the following value: <code>{ 1(iso), 3(org), 6(dod),
+   * 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name)
+   * }</code>.</p>
+   */
+  Oid NT_EXPORT_NAME = new Oid(new int[] { 1, 3, 6, 1, 5, 6, 4 });
+
+  /**
+   * <p>Oid indicating a host-based service name form.  It is used to
+   * represent services associated with host computers.  This name form is
+   * constructed using two elements, "service" and "hostname", as follows:</p>
+   *
+   * <blockquote><code>service at hostname</code></blockquote>
+   *
+   * <p>Values for the "service" element are registered with the IANA. It
+   * represents the following value: <code>{ 1(iso), 3(org), 6(dod),
+   * 1(internet), 5(security), 6(nametypes), 2(gss-host-based-services)
+   * }</code>.</p>
+   */
+  Oid NT_HOSTBASED_SERVICE = new Oid(new int[] { 1, 3, 6, 1, 5, 6, 2 });
+
+  /**
+   * <p>Name type to indicate a numeric user identifier corresponding to a
+   * user on a local system. (e.g. Uid).  It represents the following
+   * value: <code>{ iso(1) member-body(2) United States(840) mit(113554)
+   * infosys(1) gssapi(2) generic(1) machine_uid_name(2) }</code>.</p>
+   */
+  Oid NT_MACHINE_UID_NAME = new Oid(new int[] { 1, 2, 840, 113554, 1, 2, 1, 2 });
+
+  /**
+   * <p>Name type to indicate a string of digits representing the numeric
+   * user identifier of a user on a local system. It represents the
+   * following value: <code>{ iso(1) member-body(2) United States(840)
+   * mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3)
+   * }</code>.</p>
+   */
+  Oid NT_STRING_UID_NAME = new Oid(new int[] { 1, 2, 840, 113554, 1, 2, 1, 3 });
+
+  /**
+   * <p>Name type to indicate a named user on a local system.  It represents
+   * the following value: <code>{ iso(1) member-body(2) United States(840)
+   * mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }</code>.</p>
+   */
+  Oid NT_USER_NAME = new Oid(new int[] { 1, 2, 840, 113554, 1, 2, 1, 1 });
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Compares two GSSName objects to determine whether they refer to the
+   * same entity.  This method may throw a {@link GSSException} when the
+   * names cannot be compared.  If either of the names represents an
+   * anonymous entity, the method will return <code>false</code>.
+   *
+   * @param another GSSName object to compare with.
+   * @return True if this name equals the other, and if neither name
+   *         represents an anonymous entity.
+   * @throws GSSException If the names cannot be compared.
+   */
+  boolean equals(GSSName another) throws GSSException;
+
+  /**
+   * A variation of the {@link #equals(org.ietf.jgss.GSSName)} method that
+   * is provided to override the {@link Object#equals(java.lang.Object)}
+   * method that the implementing class will inherit.  The behavior is
+   * exactly the same as that in the other equals method except that no
+   * {@link GSSException} is thrown; instead, <code>false</code> will be
+   * returned in the situation where an error occurs. (Note that the Java
+   * language specification requires that two objects that are equal
+   * according to the {@link Object#equals(java.lang.Object)} method must
+   * return the same integer when the {@link hashCode()} method is called
+   * on them.
+   *
+   * @param another GSSName object to compare with.
+   * @return True if this name equals the other, if neither name
+   *         represents an anonymous entity, or if an error occurs.
+   */
+  boolean equals(Object another);
+
+  /**
+   * Return the hashcode of this GSSName. When overriding {@link #equals},
+   * it is normally necessary to override hashCode() as well.
+   *
+   * @return the hash code that must be the same for two names if {@link #equals}
+   * returns true.
+   */
+  int hashCode();
+
+  /**
+   * Creates a mechanism name (MN) from an arbitrary internal name.  This
+   * is equivalent to using the factory methods {@link
+   * GSSManager#createName(java.lang.String,org.ietf.jgss.Oid,org.ietf.jgss.Oid)}
+   * or {@link
+   * GSSManager#createName(byte[],org.ietf.jgss.Oid,org.ietf.jgss.Oid)}.
+   *
+   * @param mech The oid for the mechanism for which the canonical form
+   *             of the name is requested.
+   * @return The mechanism name.
+   * @throws GSSException If this operation fails.
+   */
+  GSSName canonicalize(Oid mech) throws GSSException;
+
+  /**
+   * Returns a canonical contiguous byte representation of a mechanism
+   * name (MN), suitable for direct, byte by byte comparison by
+   * authorization functions.  If the name is not an MN, implementations
+   * may throw a {@link GSSException} with the {@link GSSException#NAME_NOT_MN}
+   * status code.  If an implementation chooses not to throw an exception,
+   * it should use some system specific default mechanism to canonicalize
+   * the name and then export it. The format of the header of the output
+   * buffer is specified in <a
+   * href="http://www.ietf.org/rfc/rfc2743.txt">RFC 2743</a>.
+   *
+   * @return The exported name.
+   * @throws GSSException If the name is not an MN and the implementation
+   *         throws an exception for this case.
+   */
+  byte[] export() throws GSSException;
+
+  /**
+   * Returns a textual representation of the GSSName object.  To retrieve
+   * the printed name format, which determines the syntax of the returned
+   * string, the {@link #getStringNameType()} method can be used.
+   *
+   * @return The textual representation of the GSSName object.
+   */
+  String toString();
+
+  /**
+   * Returns the oid representing the type of name returned through the
+   * {@link #toString()} method.  Using this oid, the syntax of the printable
+   * name can be determined.
+   *
+   * @return The name type.
+   * @throws GSSException If this operation fails.
+   */
+  Oid getStringNameType() throws GSSException;
+
+  /**
+   * Tests if this name object represents an anonymous entity.  Returns
+   * <code>true</code> if this is an anonymous name.
+   *
+   * @return True if this name represents an anonymous entity.
+   */
+  boolean isAnonymous();
+
+  /**
+   * Tests if this name object contains only one mechanism element and is
+   * thus a mechanism name as defined by <a
+   * href="http://www.ietf.org/rfc/rfc2743.txt">RFC 2743</a>.
+   *
+   * @return True if this name is a mechanism name.
+   */
+  boolean isMN();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/MessageProp.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,273 @@
+/* MessageProp.java -- GSS-API message property.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+/**
+ * <p>This is a utility class used within the per-message {@link
+ * GSSContext} methods to convey per-message properties.</p>
+ *
+ * <p>When used with the GSSContext interface's {@link
+ * GSSContext#wrap(byte[],int,int,org.ietf.jgss.MessageProp)} and {@link
+ * GSSContext#getMIC(byte[],int,int,org.ietf.jgss.MessageProp)} methods, an
+ * instance of this class is used to indicate the desired QOP and to
+ * request if confidentiality services are to be applied to caller
+ * supplied data (wrap only).  To request default QOP, the value of 0
+ * should be used for QOP.</p>
+ *
+ * <p>When used with the {@link
+ * GSSContext#unwrap(byte[],int,int,org.ietf.jgss.MessageProp)} and {@link
+ * GSSContext#verifyMIC(byte[],int,int,byte[],int,int,org.ietf.jgss.MessageProp)}
+ * methods of the GSSContext interface, an instance of this class will be
+ * used to indicate the applied QOP and confidentiality services over the
+ * supplied message. In the case of verifyMIC, the confidentiality state
+ * will always be "false".  Upon return from these methods, this object will
+ * also contain any supplementary status values applicable to the processed
+ * token.  The supplementary status values can indicate old tokens, out
+ * of sequence tokens, gap tokens or duplicate tokens.</p>
+ */
+public class MessageProp
+{
+
+  // Fields.
+  // -------------------------------------------------------------------------
+
+  private int qopVal;
+  private boolean privState;
+  private boolean duplicate;
+  private boolean old;
+  private boolean unseq;
+  private boolean gap;
+  private int minorStatus;
+  private String minorString;
+
+  // Constructors.
+  // -------------------------------------------------------------------------
+
+  /**
+   * <p>Constructor which sets QOP to 0 indicating that the default QOP is
+   * requested.</p>
+   *
+   * @param privState The desired privacy state. "true" for privacy and
+   *                  "false" for integrity only.
+   */
+  public MessageProp(boolean privState)
+  {
+    this(0, privState);
+  }
+
+  /**
+   * <p>Constructor which sets the values for the qop and privacy state.</p>
+   *
+   * @param qop       The desired QOP.  Use 0 to request a default QOP.
+   * @param privState The desired privacy state. "true" for privacy and
+   *                  "false" for integrity only.
+   */
+  public MessageProp(int qop, boolean privState)
+  {
+    this.qopVal = qop;
+    this.privState = privState;
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Retrieves the QOP value.
+   *
+   * @return The QOP value.
+   */
+  public int getQOP()
+  {
+    return qopVal;
+  }
+
+  /**
+   * Retrieves the privacy state.
+   *
+   * @return The privacy state.
+   */
+  public boolean getPrivacy()
+  {
+    return privState;
+  }
+
+  /**
+   * Retrieves the minor status that the underlying mechanism might have
+   * set.
+   *
+   * @return The minor status.
+   */
+  public int getMinorStatus()
+  {
+    return minorStatus;
+  }
+
+  /**
+   * Returns a string explaining the mechanism specific error code.
+   * <code>null</code> will be returned when no mechanism error code has
+   * been set.
+   *
+   * @return The minor status string.
+   */
+  public String getMinorString()
+  {
+    return minorString;
+  }
+
+  /**
+   * Sets the QOP value.
+   *
+   * @param qopVal The QOP value to be set.  Use 0 to request a default
+   *               QOP value.
+   */
+  public void setQOP(int qopVal)
+  {
+    this.qopVal = qopVal;
+  }
+
+  /**
+   * Sets the privacy state.
+   *
+   * @param privState The privacy state to set.
+   */
+  public void setPrivacy(boolean privState)
+  {
+    this.privState = privState;
+  }
+
+  /**
+   * Returns "true" if this is a duplicate of an earlier token.
+   *
+   * @return True if this is a duplicate of an earlier token.
+   */
+  public boolean isDuplicateToken()
+  {
+    return duplicate;
+  }
+
+  /**
+   * Returns "true" if the token's validity period has expired.
+   *
+   * @return True if the token's validity period has expired.
+   */
+  public boolean isOldToken()
+  {
+    return old;
+  }
+
+  /**
+   * Returns "true" if a later token has already been processed.
+   *
+   * @return True if a later token has already been processed.
+   */
+  public boolean isUnseqToken()
+  {
+    return unseq;
+  }
+
+  /**
+   * Returns "true" if an expected per-message token was not received.
+   *
+   * @return True if an expected per-message token was not received.
+   */
+  public boolean isGapToken()
+  {
+    return gap;
+  }
+
+  /**
+   * This method sets the state for the supplementary information flags
+   * and the minor status in MessageProp.  It is not used by the
+   * application but by the GSS implementation to return this information
+   * to the caller of a per-message context method.
+   *
+   * @param duplicate   True if the token was a duplicate of an earlier
+   *                    token, false otherwise.
+   * @param old         True if the token's validity period has expired,
+   *                    false otherwise.
+   * @param unseq       True if a later token has already been processed,
+   *                    false otherwise.
+   * @param gap         True if one or more predecessor tokens have not yet
+   *                    been successfully processed, false otherwise.
+   * @param minorStatus The integer minor status code that the underlying
+   *                    mechanism wants to set.
+   * @param minorString The textual representation of the minorStatus
+   *                    value.
+   */
+  public void setSupplementaryStates(boolean duplicate, boolean old,
+                                     boolean unseq, boolean gap,
+                                     int minorStatus, String minorString)
+  {
+    this.duplicate = duplicate;
+    this.old = old;
+    this.unseq = unseq;
+    this.gap = gap;
+    this.minorStatus = minorStatus;
+    this.minorString = minorString;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/ietf/jgss/Oid.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,385 @@
+/* Oid.java -- Object identifier class.
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+
+   The documentation comments of this class are derived from the text
+   of RFC 2853:  Generic Security Service API Version 2: Java Bindings.
+   That document is covered under the following license notice:
+
+Copyright (C) The Internet Society (2000).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published and
+distributed, in whole or in part, without restriction of any kind,
+provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of developing
+Internet standards in which case the procedures for copyrights defined
+in the Internet Standards process must be followed, or as required to
+translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
+WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. */
+
+
+package org.ietf.jgss;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.DataInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import java.math.BigInteger;
+
+import java.util.Arrays;
+import java.util.StringTokenizer;
+
+/**
+ * <p>This class represents Universal Object Identifiers (Oids) and their
+ * associated operations.</p>
+ *
+ * <p>Oids are hierarchically globally-interpretable identifiers used
+ * within the GSS-API framework to identify mechanisms and name formats.</p>
+ *
+ * <p>The structure and encoding of Oids is defined in ISOIEC-8824 and
+ * ISOIEC-8825.  For example the Oid representation of Kerberos V5
+ * mechanism is "1.2.840.113554.1.2.2".</p>
+ *
+ * <p>The {@link GSSName} name class contains <code>public static Oid</code>
+ * objects representing the standard name types defined in GSS-API.</p>
+ */
+public class Oid
+{
+
+  // Constants and fields.
+  // -------------------------------------------------------------------------
+
+  private static final int OBJECT_IDENTIFIER = 0x06;
+  private static final int RELATIVE_OID      = 0x0d;
+
+  private final int[] components;
+  private byte[] derOid;
+  private String strOid;
+  private boolean relative;
+
+  // Constructors.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Creates an Oid object from a string representation of its integer
+   * components (e.g. "1.2.840.113554.1.2.2").
+   *
+   * @param strOid The string representation for the oid.
+   * @throws GSSException If the argument is badly formed.
+   */
+  public Oid(String strOid) throws GSSException
+  {
+    if (strOid == null)
+      throw new NullPointerException();
+    this.strOid = strOid;
+    try
+      {
+        StringTokenizer tok = new StringTokenizer(strOid, ".");
+        components = new int[tok.countTokens()];
+        int i = 0;
+        while (tok.hasMoreTokens() && i < components.length)
+          {
+            components[i++] = Integer.parseInt(tok.nextToken());
+          }
+      }
+    catch (Exception x)
+      {
+        throw new GSSException(GSSException.FAILURE);
+      }
+    relative = false;
+  }
+
+  /**
+   * Creates an Oid object from its DER encoding. This refers to the full
+   * encoding including tag and length.  The structure and encoding of
+   * Oids is defined in ISOIEC-8824 and ISOIEC-8825.  This method is
+   * identical in functionality to its byte array counterpart.
+   *
+   * @param derOid Stream containing the DER encoded oid.
+   * @throws GSSException If the DER stream is badly formed, or if the
+   *                      input stream throws an exception.
+   */
+  public Oid(InputStream derOid) throws GSSException
+  {
+    DataInputStream in = new DataInputStream(derOid);
+    try
+      {
+        int tag = in.read() & 0x1F;
+        if (tag != OBJECT_IDENTIFIER && tag != RELATIVE_OID)
+          throw new IOException();
+        int len = in.read();
+        if ((len & ~0x7F) != 0)
+          {
+            byte[] buf = new byte[len & 0x7F];
+            in.readFully(buf);
+            len = new BigInteger(1, buf).intValue();
+          }
+        if (len < 0)
+          throw new IOException();
+        byte[] enc = new byte[len];
+        in.readFully(enc);
+        int[] comp = new int[len + 1];
+        int count = 0;
+        int i = 0;
+        relative = tag == RELATIVE_OID;
+        if (!relative && i < len)
+          {
+            int j = (enc[i] & 0xFF);
+            comp[count++] = j / 40;
+            comp[count++] = j % 40;
+            i++;
+          }
+        while (i < len)
+          {
+            int j = 0;
+            do
+              {
+                j = enc[i++] & 0xFF;
+                comp[count] <<= 7;
+                comp[count]  |= j & 0x7F;
+                if (i >= len && (j & 0x80) != 0)
+                  throw new IOException();
+              }
+            while ((j & 0x80) != 0);
+            count++;
+          }
+        if (count == len)
+          this.components = comp;
+        else
+          {
+            this.components = new int[count];
+            System.arraycopy(comp, 0, components, 0, count);
+          }
+      }
+    catch (IOException ioe)
+      {
+        throw new GSSException(GSSException.FAILURE);
+      }
+  }
+
+  /**
+   * Creates an Oid object from its DER encoding. This refers to the full
+   * encoding including tag and length.  The structure and encoding of
+   * Oids is defined in ISOIEC-8824 and ISOIEC-8825.  This method is
+   * identical in functionality to its streaming counterpart.
+   *
+   * @param derOid Byte array storing a DER encoded oid.
+   * @throws GSSException If the DER bytes are badly formed.
+   */
+  public Oid(byte[] derOid) throws GSSException
+  {
+    this(new ByteArrayInputStream(derOid));
+    this.derOid = (byte[]) derOid.clone();
+  }
+
+  Oid(int[] components)
+  {
+    this.components = components;
+    relative = false;
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Returns a string representation of the oid's integer components in
+   * dot separated notation (e.g. "1.2.840.113554.1.2.2").
+   *
+   * @return The string representation of this oid.
+   */
+  public String toString()
+  {
+    if (strOid == null)
+      {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < components.length; i++)
+          {
+            buf.append(components[i]);
+            if (i < components.length - 1)
+              buf.append('.');
+          }
+        strOid = buf.toString();
+      }
+    return strOid;
+  }
+
+  /**
+   * Returns the full ASN.1 DER encoding for this oid object, which
+   * includes the tag and length.
+   *
+   * @return The ASN.1 DER encoding for this oid.
+   * @throws GSSException If encoding fails.
+   */
+  public byte[] getDER() throws GSSException
+  {
+    if (derOid == null)
+      {
+        ByteArrayOutputStream out = new ByteArrayOutputStream(256);
+        try
+          {
+            int i = 0;
+            if (!relative)
+              {
+                int b = components[i++] * 40 + (components.length > 1
+                                                ? components[i++] : 0);
+                encodeSubId(out, b);
+              }
+            for ( ; i < components.length; i++)
+              encodeSubId(out, components[i]);
+            byte[] oid = out.toByteArray();
+            out.reset();
+            if (relative)
+              out.write(RELATIVE_OID);
+            else
+              out.write(OBJECT_IDENTIFIER);
+            if (oid.length < 128)
+              out.write(oid.length);
+            else if (oid.length < 256)
+              {
+                out.write(0x81);
+                out.write(oid.length);
+              }
+            else if (oid.length < 65536)
+              {
+                out.write(0x82);
+                out.write((oid.length >>> 8) & 0xFF);
+                out.write(oid.length & 0xFF);
+              }
+            else if (oid.length < 16777216)
+              {
+                out.write(0x83);
+                out.write((oid.length >>> 16) & 0xFF);
+                out.write((oid.length >>>  8) & 0xFF);
+                out.write(oid.length & 0xFF);
+              }
+            else
+              {
+                out.write(0x84);
+                out.write((oid.length >>> 24) & 0xFF);
+                out.write((oid.length >>> 16) & 0xFF);
+                out.write((oid.length >>>  8) & 0xFF);
+                out.write(oid.length & 0xFF);
+              }
+            out.write(oid);
+          }
+        catch (IOException ioe)
+          {
+            throw new GSSException(GSSException.FAILURE);
+          }
+        derOid = out.toByteArray();
+      }
+    return (byte[]) derOid.clone();
+  }
+
+  /**
+   * A utility method to test if an Oid object is contained within the
+   * supplied Oid object array.
+   *
+   * @param oids An array of oids to search.
+   * @return True if this oid is contained in the given array.
+   */
+  public boolean containedIn(Oid[] oids)
+  {
+    for (int i = 0; i < oids.length; i++)
+      {
+        if (equals(oids[i]))
+          return true;
+      }
+    return false;
+  }
+
+  public boolean equals(Object o)
+  {
+    if (!(o instanceof Oid))
+      return false;
+    Oid that = (Oid) o;
+    return Arrays.equals(components, that.components);
+  }
+
+  public int hashCode()
+  {
+    int code = 0;
+    for (int i = 0; i < components.length; i++)
+      code += components[i];
+    return code;
+  }
+
+  // Own methods.
+  // -------------------------------------------------------------------------
+
+  private static void encodeSubId(OutputStream out, int id) throws IOException
+  {
+    if (id < 128)
+      {
+        out.write(id);
+      }
+    else if (id < 16384)
+      {
+        out.write((id >>> 7) | 0x80);
+        out.write(id & 0x7F);
+      }
+    else if (id < 2097152)
+      {
+        out.write((id >>> 14) | 0x80);
+        out.write(((id >>> 7) | 0x80) & 0xFF);
+        out.write(id & 0x7F);
+      }
+    else if (id < 268435456)
+      {
+        out.write( (id >>> 21) | 0x80);
+        out.write(((id >>> 14) | 0x80) & 0xFF);
+        out.write(((id >>>  7) | 0x80) & 0xFF);
+        out.write(id & 0x7F);
+      }
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,102 @@
+/* ACTIVITY_COMPLETED.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The ACTIVITY_COMPLETED indicates that the Activity context in which the
+ * method call was made has been completed due to a timeout of either the
+ * Activity itself or a transaction that encompasses the Activity. It also
+ * may mean that the Activity is completed in a manner other than that
+ * originally requested.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class ACTIVITY_COMPLETED
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.5) for interoperability.
+   */
+  private static final long serialVersionUID = 463786710302308798L;
+
+  /**
+   * Creates ACTIVITY_COMPLETED with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public ACTIVITY_COMPLETED(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates ACTIVITY_COMPLETED with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public ACTIVITY_COMPLETED()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a ACTIVITY_COMPLETED exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public ACTIVITY_COMPLETED(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created ACTIVITY_COMPLETED exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public ACTIVITY_COMPLETED(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,100 @@
+/* ACTIVITY_REQUIRED.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The ACTIVITY_REQUIRED system exception indicates that an Activity context was
+ * necessary to perform the invoked operation, but one was not found
+ * associated with the calling thread.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class ACTIVITY_REQUIRED
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.5) for interoperability.
+   */
+  private static final long serialVersionUID = -5684213471781455027L;
+
+  /**
+   * Creates ACTIVITY_REQUIRED with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public ACTIVITY_REQUIRED(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates ACTIVITY_REQUIRED with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public ACTIVITY_REQUIRED()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a ACTIVITY_REQUIRED exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public ACTIVITY_REQUIRED(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created ACTIVITY_REQUIRED exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public ACTIVITY_REQUIRED(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_IN.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* ARG_IN.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to mark the parameter as an "input parameter". 
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ * 
+ * @see NamedValue
+ */
+public interface ARG_IN
+{
+  /**
+   * The flag, specifying that the parameter is used to pass and not to
+   * return the data.
+   */
+  int value = 1;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_INOUT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,57 @@
+/* ARG_IN.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to mark that the the parameter is used both to pass and to 
+ * return some value. It is a similar conception like passing a
+ * parameter "by reference" in C or Pascal.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ * 
+ * @see NamedValue
+ */
+public interface ARG_INOUT
+{
+  /**
+   * The constant, specifying that the parameter is used both
+   * to pass and to return the data.
+   */
+  int value = 3;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ARG_OUT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* ARG_IN.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to mark the parameter as an "output parameter". 
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ * 
+ * @see NamedValue
+ */
+public interface ARG_OUT
+{
+  /**
+   * The flag, indicating that the parameter is used to return, and
+   * not to pass the data.
+   */
+  int value = 2;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Any.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,460 @@
+/* Any.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * A container that can store a value of either user defined or
+ * primitive IDL type.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class Any
+  implements Serializable, IDLEntity
+{
+  /**
+   * Using v 1.4 serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = 1217179597823814463L;
+
+  /**
+   * Creates an input stream from that this Any object's value can be
+   * read (unmarshalled).
+   */
+  public abstract org.omg.CORBA.portable.InputStream create_input_stream();
+
+  /**
+   * Creates an output stream into which this <code>Any</code> object's
+   * value can be written (marshalled).
+   *
+   * @return the newly created output stream.
+   */
+  public abstract org.omg.CORBA.portable.OutputStream create_output_stream();
+
+  /**
+   * Compare this <code>Any</code> with another <code>Any</code>.
+   *
+   * @param other the other instance to compare with.
+   *
+   * @return true if both values and value typecodes are equal,
+   * false otherwise.
+   */
+  public abstract boolean equal(Any other);
+
+  /**
+   * Extract the CORBA <code>Object</code> from this <code>Any</code>
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>Object</code> or the value has not been set.
+   */
+  public abstract org.omg.CORBA.Object extract_Object()
+                                               throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>Principal</code> from this <code>Any</code>
+   *
+   * @throws NO_IMPLEMENT, always.
+   *
+   * @deprecated by CORBA 2.2.
+   */
+  public Principal extract_Principal()
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Extract an arbitrary {@link org.omg.CORBA.portable.Streamable } from
+   * this <code>Any</code>.
+   *
+   * @throws BAD_INV_ORDER if the caller has invoked operations in the
+   * wrong order.
+   *
+   * @throws NO_IMPLEMENT, always (override to get functionality).
+   */
+  public org.omg.CORBA.portable.Streamable extract_Streamable()
+    throws org.omg.CORBA.BAD_INV_ORDER
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Extract the TypeCode from this <code>Any</code> value field.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>TypeCode</code> or the value has not been set.
+   */
+  public abstract TypeCode extract_TypeCode()
+                                     throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>Value</code> from this <code>Any</code>
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>Value</code> or the value has not been set.
+   */
+  public abstract java.io.Serializable extract_Value()
+                                              throws BAD_OPERATION;
+
+  /**
+   * Extract another <code>Any</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>any</code> or the value has not been set.
+   */
+  public abstract Any extract_any()
+                           throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>boolean</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>boolean</code> or the value has not been set.
+   */
+  public abstract boolean extract_boolean()
+                                   throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>char</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>char</code> or the value has not been set.
+   */
+  public abstract char extract_char()
+                             throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>double</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>double</code> or the value has not been set.
+   */
+  public abstract double extract_double()
+                                 throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>fixed</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>fixed</code> or the value has not been set.
+   *
+   * @throws NO_IMPLEMENT, always (override to get functionality).
+   */
+  public java.math.BigDecimal extract_fixed()
+                                     throws BAD_OPERATION
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Extract the CORBA <code>float</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>float</code> or the value has not been set.
+   */
+  public abstract float extract_float()
+                               throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>long</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>long</code> or the value has not been set.
+   */
+  public abstract int extract_long()
+                            throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>long long</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>longlong</code> or the value has not been set.
+   */
+  public abstract long extract_longlong()
+                                 throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>octet</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>octet</code> or the value has not been set.
+   */
+  public abstract byte extract_octet()
+                              throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>short</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>short</code> or the value has not been set.
+   */
+  public abstract short extract_short()
+                               throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>string</code> from this <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>string</code> or the value has not been set.
+   */
+  public abstract String extract_string()
+                                 throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA unsigned <code>long</code> from this <code>Any</code>
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than unsigned <code>long</code> or the value has not been set.
+   */
+  public abstract int extract_ulong()
+                             throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA unsigned <code>long long</code> from this
+   * <code>Any</code>.
+   *
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than unsigned <code>long long</code> or the value has not been set.
+   */
+  public abstract long extract_ulonglong()
+                                  throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA unsigned <code>short</code> from this <code>Any</code>
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than unsigned <code>short</code> or the value has not been set.
+   */
+  public abstract short extract_ushort()
+                                throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>wchar</code> from this <code>Any</code>
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>wchar</code> or the value has not been set.
+   */
+  public abstract char extract_wchar()
+                              throws BAD_OPERATION;
+
+  /**
+   * Extract the CORBA <code>wstring</code> from this <code>Any</code>
+   * @throws BAD_OPERATION  if this instance contains value other
+   * than <code>wstring</code> or the value has not been set.
+   */
+  public abstract String extract_wstring()
+                                  throws BAD_OPERATION;
+
+  /**
+   * Insert the CORBA <code>Object</code> into this <code>Any</code>
+   */
+  public abstract void insert_Object(org.omg.CORBA.Object x, TypeCode typecode);
+
+  /**
+   * Insert the CORBA <code>Object</code> into this <code>Any</code>
+   */
+  public abstract void insert_Object(org.omg.CORBA.Object x);
+
+  /**
+   * Insert the CORBA <code>Principal</code> into this <code>Any</code>.
+   * @deprecated by CORBA 2.2.
+   */
+  public void insert_Principal(Principal x)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Insert the CORBA <code>Streamable</code> into this <code>Any</code>
+   */
+  public void insert_Streamable(org.omg.CORBA.portable.Streamable x)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Insert the CORBA <code>TypeCode</code> into this <code>Any</code>
+   * value field.
+   */
+  public abstract void insert_TypeCode(TypeCode typecode);
+
+  /**
+   * Insert the CORBA <code>Value</code> into this <code>Any</code>.
+   *
+   * The type of the Any should be set (by {@link #type(TypeCode)})
+   * before inserting the value.
+   */
+  public abstract void insert_Value(Serializable x, TypeCode typecode);
+
+  /**
+   * Insert the CORBA <code>Value</code> into this <code>Any</code>.
+   *
+   * The type of the Any should be set (by {@link #type(TypeCode)})
+   * before inserting the value.
+   */
+  public abstract void insert_Value(Serializable x);
+
+  /**
+   * Insert the CORBA <code>any</code> into this <code>Any</code>
+   */
+  public abstract void insert_any(Any x);
+
+  /**
+   * Insert the CORBA <code>boolean</code> into this <code>Any</code>
+   */
+  public abstract void insert_boolean(boolean x);
+
+  /**
+   * Insert the CORBA <code>char</code> into this <code>Any</code>
+   */
+  public abstract void insert_char(char x);
+
+  /**
+   * Insert the CORBA <code>double</code> into this <code>Any</code>
+   */
+  public abstract void insert_double(double x);
+
+  /**
+   * Insert the CORBA <code>fixed</code> into this <code>Any</code>
+   */
+  public void insert_fixed(java.math.BigDecimal x, TypeCode typecode)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Insert the CORBA <code>fixed</code> into this <code>Any</code>
+   */
+  public void insert_fixed(java.math.BigDecimal x)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Insert the CORBA <code>float</code> into this <code>Any</code>
+   */
+  public abstract void insert_float(float x);
+
+  /**
+   * Insert the CORBA <code>long</code> into this <code>Any</code>
+   */
+  public abstract void insert_long(int x);
+
+  /**
+   * Insert the CORBA <code>longlong</code> into this <code>Any</code>
+   */
+  public abstract void insert_longlong(long x);
+
+  /**
+   * Insert the CORBA <code>octet</code> into this <code>Any</code>
+   */
+  public abstract void insert_octet(byte x);
+
+  /**
+   * Insert the CORBA <code>short</code> into this <code>Any</code>
+   */
+  public abstract void insert_short(short x);
+
+  /**
+   * Insert the CORBA <code>string</code> into this <code>Any</code>
+   */
+  public abstract void insert_string(String x);
+
+  /**
+   * Insert the CORBA <code>ulong</code> into this <code>Any</code>
+   */
+  public abstract void insert_ulong(int x);
+
+  /**
+   * Insert the CORBA <code>ulonglong</code> into this <code>Any</code>
+   */
+  public abstract void insert_ulonglong(long x);
+
+  /**
+   * Insert the CORBA <code>ushort</code> into this <code>Any</code>
+   */
+  public abstract void insert_ushort(short x);
+
+  /**
+   * Insert the CORBA <code>wchar</code> into this <code>Any</code>
+   */
+  public abstract void insert_wchar(char x);
+
+  /**
+   * Insert the CORBA <code>wstring</code> into this <code>Any</code>
+   */
+  public abstract void insert_wstring(String x);
+
+  /**
+   * Read the value into this <code>Any</code> from the given input stream.
+   *
+   * @param input a CORBA stream to read from.
+   * @param type a TypeCode of the object being read.
+   *
+   * @throws org.omg.CORBA.MARSHAL if the given TypeCode does not match
+   * the TypeCode of the object, found in the stream.
+   */
+  public abstract void read_value(org.omg.CORBA.portable.InputStream input,
+                                  TypeCode type
+                                 )
+                           throws MARSHAL;
+
+  /**
+   * Set the type of the object, stored in this <code>Any</code>, to the
+   * given TypeCode. Clear the value.
+   *
+   * @param valueTypeCode the type of the object that is expected to be stored
+   * in this <code>any</code>.
+   */
+  public abstract void type(TypeCode valueTypeCode);
+
+  /**
+   * Returns the TypeCode of the object, stored in this <code>Any</code>
+   * @return the TypeCode
+   */
+  public abstract TypeCode type();
+
+  /**
+   * Writes out the value (without the typecode of the value), stored in
+   * this <code>Any</code>.
+   *
+   * @param output the CORBA stream to write into.
+   *
+   * @throws NullPointerException if the value of this <code>Any</code>
+   * has not been set.
+   */
+  public abstract void write_value(org.omg.CORBA.portable.OutputStream output);
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnyHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,119 @@
+/* AnyHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for storing an instance of {@link Any}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class AnyHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_any = new PrimitiveTypeCode(TCKind.tk_any);
+
+  /**
+   * The instance of {@link Any} (not the "any value"), held by this holder.
+   */
+  public Any value;
+
+  /**
+   * Constructs an instance of AnyHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public AnyHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of AnyHolder,
+   * initializing {@link #value} to the passed parameter.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public AnyHolder(Any initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For {@link Any}, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_any}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_any();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_any;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For {@link Any} the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_any(Any) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_any(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,151 @@
+/* AnySeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * the array of the type {@link Any} (not with the "any array").
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class AnySeqHelper
+{
+  /**
+   * Extract the array of {@link Any}'s from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link AnySeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link AnySeqHolder}.
+   */
+  public static Any[] extract(Any a)
+  {
+    AnySeqHolder h = (AnySeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given {@link Any}[] into the
+  * given {@link Any}. This implementation first creates
+  * a {@link AnySeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, Any[] that)
+  {
+    AnySeqHolder holder = new AnySeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the {@link Any}[] from the CORBA input stream.
+   * This implementation first creates an instance of
+   * {@link AnySeqHolder} and then delegates functionality
+   * to its <code>_read()</code> method.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static Any[] read(InputStream input)
+  {
+    Any[] value = new Any[ input.read_long() ];
+    for (int i = 0; i < value.length; i++)
+      {
+        value [ i ] = input.read_any();
+      }
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the array of {@link Any}'s.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_any);
+  }
+
+  /**
+   * Writes the array of {@link Any}'s into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, Any[] value)
+  {
+    output.write_long(value.length);
+
+    for (int i = 0; i < value.length; i++)
+      {
+        output.write_any(value [ i ]);
+      }
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/AnySeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* AnySeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>AnySeq</code> that is mapped into
+ * java <code>Any[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class AnySeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>Any[]</code> (CORBA <code>AnySeq</code>) value,
+   * held by this AnySeqHolder.
+   */
+  public Any[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_any);
+
+  /**
+   * Constructs an instance of AnySeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public AnySeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of AnySeqHolder,  
+   * initializing {@link #value} to the given array
+   */
+  public AnySeqHolder(Any [] a_value)
+  {
+    value = a_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>and then all Any's.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new Any[ input.read_long() ];
+    for (int i = 0; i < value.length; i++)
+      {
+        value [ i ] = input.read_any();
+      }
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code> and then all Any's.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+
+    for (int i = 0; i < value.length; i++)
+      {
+        output.write_any(value [ i ]);
+      }
+  }
+
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* BAD_CONTEXT.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the operation is invoked by a client but the passed
+ * context has no values required by this operation.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_CONTEXT
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -5025677944847478264L;
+
+  /**
+   * Creates a BAD_CONTEXT with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public BAD_CONTEXT(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates BAD_CONTEXT with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public BAD_CONTEXT()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a BAD_CONTEXT exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public BAD_CONTEXT(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created BAD_CONTEXT exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public BAD_CONTEXT(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* BAD_INV_ORDER.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the caller has invoked operations in the wrong order.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_INV_ORDER
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 7273325995832240406L;
+
+  /**
+   * Creates a BAD_INV_ORDER with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public BAD_INV_ORDER(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates BAD_INV_ORDER with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public BAD_INV_ORDER()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a BAD_INV_ORDER exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public BAD_INV_ORDER(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created BAD_INV_ORDER exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public BAD_INV_ORDER(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,169 @@
+/* BAD_OPERATION.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the object exists but does not support the operation that was
+ * invoked on it.
+ * 
+ * In GNU Classpath, this exception may have the following Minor codes:
+ * 
+ * <table border="1">
+ * <tr>
+ * <th>Hex</th>
+ * <th>Dec</th>
+ * <th>Minor</th>
+ * <th>Name</th>
+ * <th>Case</th>
+ * </tr>
+ * <tr>
+ * <td>47430000</td>
+ * <td>1195573248 </td>
+ * <td>0</td>
+ * <td>Method</td>
+ * <td> The remote side requested to invoke the method that is not available on
+ * that target (client and server probably disagree in the object definition).
+ * This code is set when the problem arises in the Classpath core; the idlj and
+ * rmic may generate the user code that sets 0x0 or other value.</td>
+ * </tr>
+ * <tr>
+ * <td>47430009</td>
+ * <td>1195573257</td>
+ * <td>9</td>
+ * <td>Any</td>
+ * <td> Attempt to extract from the Any value of the different type that was
+ * stored into that Any. </td>
+ * </tr>
+ * <tr>
+ * <td>4743000a</td>
+ * <td>1195573258</td>
+ * <td>10</td>
+ * <td>Activation</td>
+ * <td>Failed to activate the inactive object due any reason.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000b</td>
+ * <td>1195573259</td>
+ * <td>11</td>
+ * <td>Policy</td>
+ * <td> The policies, applying to ORB or POA prevent the requested operation.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>4743000c</td>
+ * <td>1195573260</td>
+ * <td>12</td>
+ * <td>Socket</td>
+ * <td> Socket related errors like failure to open socket on the expected port.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000e</td>
+ * <td>1195573262</td>
+ * <td>14</td>
+ * <td>Enumeration</td>
+ * <td> The passed value for enumeration is outside the valid range for that
+ * enumeration. </td>
+ * </tr>
+ * <tr>
+ * <td>4743000f</td>
+ * <td>1195573263</td>
+ * <td>15</td>
+ * <td>PolicyType</td>
+ * <td> The passed policy code is outside the valid range of the possible
+ * policies for the given policy type. </td>
+ * </tr>
+ * </table>
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_OPERATION
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = 1654621651720499682L;
+
+  /**
+   * Creates a BAD_OPERATION with the default minor code of 0, completion state
+   * COMPLETED_NO and the given explaining message.
+   * 
+   * @param message the explaining message.
+   */
+  public BAD_OPERATION(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates BAD_OPERATION with the default minor code of 0 and a completion
+   * state COMPLETED_NO.
+   */
+  public BAD_OPERATION()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates a BAD_OPERATION exception with the specified minor code and
+   * completion status.
+   * 
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public BAD_OPERATION(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created BAD_OPERATION exception, providing full information.
+   * 
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public BAD_OPERATION(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Propchange: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_OPERATION.java

------------------------------------------------------------------------------
    svn:executable = *

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_PARAM.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* BAD_PARAM.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The exception thrown when a parameter passed to a call is considered
+ * illegal.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_PARAM
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Creates BAD_PARAM with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public BAD_PARAM(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 1917109334939470379L;
+
+  /**
+   * Creates BAD_PARAM with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public BAD_PARAM()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a BAD_PARAM exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public BAD_PARAM(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created BAD_PARAM exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public BAD_PARAM(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* BAD_POLICY.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * Holds a single constant, specifying, that
+ * the requested {@link Policy} is not valid. One of the PolicyErrorCodes,
+ * others being {@link UNSUPPORTED_POLICY}, 
+ * {@link UNSUPPORTED_POLICY_VALUE},
+ * {@link BAD_POLICY_TYPE}, {@link BAD_POLICY_VALUE}.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface BAD_POLICY
+{
+  /**
+   * States that the requested {@link Policy} is not valid. 
+   */
+  short value = 0;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* BAD_POLICY_TYPE.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * Holds a single constant, specifying, that
+ * the requested {@link Policy} type is not valid. One of the 
+ * PolicyErrorCodes, others being {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}, {@link BAD_POLICY},
+ * {@link BAD_POLICY_VALUE}.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface BAD_POLICY_TYPE
+{
+  /**
+   * States that the requested {@link Policy} type is not valid.
+   */
+  short value = 2;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* BAD_POLICY_VALUE.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * Holds a single constant, specifying, that
+ * the requested {@link Policy} value is not valid. One of the 
+ * PolicyErrorCodes, others being {@link UNSUPPORTED_POLICY},
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface BAD_POLICY_VALUE
+{
+  /**
+   * States that the requested {@link Policy} value is not valid. 
+   */
+  short value = 3;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_QOS.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,99 @@
+/* BAD_QOS.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * The BAD_QOS is raised when the object cannot support the quality of
+ * service required by an invocation parameter.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_QOS
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.5) for interoperability.
+   */
+  private static final long serialVersionUID = 4746597571263117454L;
+
+  /**
+   * Creates BAD_QOS with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public BAD_QOS(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates BAD_QOS with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public BAD_QOS()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a BAD_QOS exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public BAD_QOS(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created BAD_QOS exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public BAD_QOS(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* BAD_TYPECODE.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the some TypeCode has been realized to be invalid
+ * (for example, has an invalid TCKind value).
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BAD_TYPECODE
+  extends SystemException
+  implements Serializable
+{
+  /**
+   *  Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 6193364410915696901L;
+
+  /**
+   * Creates a BAD_TYPECODE with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public BAD_TYPECODE(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates BAD_TYPECODE with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public BAD_TYPECODE()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a BAD_TYPECODE exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public BAD_TYPECODE(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created BAD_TYPECODE exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public BAD_TYPECODE(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* BooleanHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>boolean</code> that is mapped into
+ * java <code>boolean</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BooleanHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_boolean =
+    new PrimitiveTypeCode(TCKind.tk_boolean);
+
+  /**
+   * The <code>boolean</code> (CORBA <code>boolean</code>) value,
+   * held by this BooleanHolder.
+   */
+  public boolean value;
+
+  /**
+   * Constructs an instance of BooleanHolder,
+   * initializing {@link #value} to <code>false</code>.
+   */
+  public BooleanHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of BooleanHolder,
+   * initializing {@link #value} to the given <code>boolean</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public BooleanHolder(boolean initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>boolean</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_boolean}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_boolean();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_boolean;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>boolean</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_boolean(boolean) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_boolean(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* BooleanSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>boolean</code>
+ * (<code>BooleanSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class BooleanSeqHelper
+{
+  /**
+   * Extract the <code>boolean[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link BooleanSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link BooleanSeqHolder}.
+   */
+  public static boolean[] extract(Any a)
+  {
+    BooleanSeqHolder h = (BooleanSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>boolean[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link BooleanSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, boolean[] that)
+  {
+    BooleanSeqHolder holder = new BooleanSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>boolean[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static boolean[] read(InputStream input)
+  {
+    boolean [] value = new boolean[ input.read_long() ];
+    input.read_boolean_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>BooleanSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_boolean);
+  }
+
+  /**
+   * Writes the <code>boolean[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, boolean[] value)
+  {
+    output.write_long(value.length);
+    output.write_boolean_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* BooleanSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>BooleanSeq</code> that is mapped into
+ * java <code>boolean[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class BooleanSeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>boolean[]</code> (CORBA <code>BooleanSeq</code>) value,
+   * held by this BooleanSeqHolder.
+   */
+  public boolean[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_boolean);
+
+  /**
+   * Constructs an instance of BooleanSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public BooleanSeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of BooleanSeqHolder,
+   * initializing {@link #value} to the given <code>boolean[]</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public BooleanSeqHolder(boolean[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#read_boolean_array }.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new boolean[ input.read_long() ];
+    input.read_boolean_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#write_boolean_array }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_boolean_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Bounds.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,71 @@
+/* Bounds.java -- Exception thrown due to out-of-bounds parameter
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * Thrown when a parameter is outside the bounds for a particular
+ * object a method is trying to access.
+ *
+ * @author Andrew John Hughes (gnu_andrew at member.fsf.org)
+ */
+public final class Bounds
+  extends UserException
+{
+
+  /**
+   * Constructs a default <code>Bounds</code> exception, with
+   * no detail message.
+   */
+  public Bounds()
+  {
+    super();
+  }
+
+  /**
+   * Constructs a <code>Bounds</code> exception using the specified
+   * message as the reason for throwing it.
+   *
+   * @param reason the reason the exception was thrown.
+   */
+  public Bounds(String reason)
+  {
+    super(reason);
+  }
+
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ByteHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* ByteHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>octet</code> that is mapped into
+ * java <code>byte</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class ByteHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_octet =
+    new PrimitiveTypeCode(TCKind.tk_octet);
+
+  /**
+   * The <code>byte</code> (CORBA <code>octet</code>) value,
+   * held by this ByteHolder.
+   */
+  public byte value;
+
+  /**
+   * Constructs an instance of ByteHolder,
+   * initializing {@link #value} to <code>0x0 </code>.
+   */
+  public ByteHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of ByteHolder,
+   * initializing {@link #value} to the given <code>byte</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public ByteHolder(byte initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>octet</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_octet}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_octet();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_octet;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>octet</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_octet(byte) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_octet(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,103 @@
+/* CODESET_INCOMPATIBLE.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Raised when client and server are unable to reach any consensus on which
+ * code set should be used to represent the characters. This happens when
+ * neither server nor client can convert from the native code set of the
+ * corresponding side, there is no shared codeset from that both sides could
+ * convert and additionally the client and server native code sets are too
+ * different to communicate anyway without massive data loss.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class CODESET_INCOMPATIBLE
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.5) for interoperability.
+   */
+  private static final long serialVersionUID = -8784048396454171789L;
+
+  /**
+   * Creates CODESET_INCOMPATIBLE with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public CODESET_INCOMPATIBLE(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates CODESET_INCOMPATIBLE with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public CODESET_INCOMPATIBLE()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a CODESET_INCOMPATIBLE exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public CODESET_INCOMPATIBLE(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created CODESET_INCOMPATIBLE exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public CODESET_INCOMPATIBLE(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/COMM_FAILURE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* COMM_FAILURE.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the communication has been lost while an operation 
+ * was in progress
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class COMM_FAILURE
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 294856734784364267L;
+
+  /**
+   * Creates a COMM_FAILURE with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public COMM_FAILURE(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates COMM_FAILURE with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public COMM_FAILURE()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a COMM_FAILURE exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public COMM_FAILURE(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created COMM_FAILURE exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public COMM_FAILURE(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,54 @@
+/* CTX_RESTRICT_SCOPE.java -- 
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * This simple interface defines just one constant, normally used
+ * to restrict the property search in the {@link Context} by
+ * the current context.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface CTX_RESTRICT_SCOPE
+{
+  /**
+   * The flag, specifying that the search
+   * is limited to the current context.
+   */
+  int value = 15;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* CharHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>char</code> that is mapped into
+ * java <code>char</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class CharHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_char = new PrimitiveTypeCode(TCKind.tk_char);
+
+  /**
+   * The <code>char</code> (CORBA <code>char</code>) value,
+   * held by this CharHolder.
+   */
+  public char value;
+
+  /**
+   * Constructs an instance of CharHolder,
+   * initializing {@link #value} to <code>0 </code>.
+   */
+  public CharHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of CharHolder,
+   * initializing {@link #value} to the given <code>char</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public CharHolder(char initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>char</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_char}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_char();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_char;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>char</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_char(char) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_char(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* CharSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>char</code>
+ * (<code>CharSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class CharSeqHelper
+{
+  /**
+   * Extract the <code>char[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link CharSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link CharSeqHolder}.
+   */
+  public static char[] extract(Any a)
+  {
+    CharSeqHolder h = (CharSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>char[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link CharSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, char[] that)
+  {
+    CharSeqHolder holder = new CharSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>char[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static char[] read(InputStream input)
+  {
+    char [] value = new char[ input.read_long() ];
+    input.read_char_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>CharSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_char);
+  }
+
+  /**
+   * Writes the <code>char[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, char[] value)
+  {
+    output.write_long(value.length);
+    output.write_char_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CharSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* CharSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>CharSeq</code> that is mapped into
+ * java <code>char[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class CharSeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>char[]</code> (CORBA <code>CharSeq</code>) value,
+   * held by this CharSeqHolder.
+   */
+  public char[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_char);
+
+  /**
+   * Constructs an instance of CharSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public CharSeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of CharSeqHolder,
+   * initializing {@link #value} to the given <code>char[]</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public CharSeqHolder(char[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#read_char_array }.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new char[ input.read_long() ];
+    input.read_char_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#write_char_array }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_char_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatus.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,164 @@
+/* CompletionStatus.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * Defines the method completion status, usually for the time moment,
+ * when the exception has been thrown.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class CompletionStatus
+  implements Serializable, IDLEntity
+{
+  /**
+   * Use serialVersionUID for interoperability.
+   * Using the version 1.4 UID.
+   */
+  private static final long serialVersionUID = -9047319660881406859L;
+
+  /**
+   * The method was completed when the exception was thrown.
+   */
+  public static final int _COMPLETED_YES = 0;
+
+  /**
+   * The method was running when the exception was thrown.
+   */
+  public static final int _COMPLETED_NO = 1;
+
+  /**
+   * The method was either running or complete (no exact information availabe)
+   * when the exception was thrown.
+   */
+  public static final int _COMPLETED_MAYBE = 2;
+
+  /**
+   * An instance of CompletionStatus, initialized to {@link #COMPLETED_YES }
+   */
+  public static final CompletionStatus COMPLETED_YES =
+    new CompletionStatus(_COMPLETED_YES);
+
+  /**
+   * An instance of CompletionStatus, initialized to {@link #COMPLETED_NO }
+   */
+  public static final CompletionStatus COMPLETED_NO =
+    new CompletionStatus(_COMPLETED_NO);
+
+  /**
+   * An instance of CompletionStatus, initialized to {@link #COMPLETED_MAYBE }
+   */
+  public static final CompletionStatus COMPLETED_MAYBE =
+    new CompletionStatus(_COMPLETED_MAYBE);
+
+  /**
+   * The private array of all states. As long as the states form the uniform
+   * sequence, from_int can find the needed value directly indexing this array.
+   */
+  private static final CompletionStatus[] states =
+    new CompletionStatus[] { COMPLETED_YES, COMPLETED_NO, COMPLETED_MAYBE };
+  private final int _value;
+
+  /**
+   * No other instances can be created.
+   */
+  private CompletionStatus(int a_value)
+  {
+    _value = a_value;
+  }
+
+  /**
+   * Returns the CompletionStatus, matching the given integer constant
+   * 
+   * @param completion one of COMPLETED_YES, COMPLETED_NO or COMPLEED_MAYBE.
+   * @return one of COMPLETED_YES, COMPLETED_NO or COMPLEED_MAYBE.
+   * @throws BAD_PARAM if the parameter is not one of these three valid values.
+   */
+  public static CompletionStatus from_int(int completion)
+  {
+    try
+      {
+        return states[completion];
+      }
+    catch (ArrayIndexOutOfBoundsException ex)
+      {
+        BAD_OPERATION bad = new BAD_OPERATION("Invalid completion status "
+          + completion);
+        bad.minor = Minor.Enumeration;
+        throw bad;
+      }
+  }
+
+  /**
+   * Returns a short string representation.
+   * @return a string, defining the completion status.
+   */
+  public String toString()
+  {
+    switch (value())
+      {
+        case _COMPLETED_YES :
+          return "completed";
+
+        case _COMPLETED_NO :
+          return "not completed";
+
+        case _COMPLETED_MAYBE :
+          return "maybe completed";
+
+        default :
+          return "invalid completion status instance";
+      }
+  }
+
+  /**
+   * Returns the value, representing the completion
+   * status of this object.
+   * @return one of COMPLETED_MAYBE, COMPLETED_YES or COMPLETED_NO
+   */
+  public int value()
+  {
+    return _value;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,131 @@
+/* CompletionStatusHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * {@link CompletionStatus}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class CompletionStatusHelper
+{
+  /**
+   * Extract the {@link CompletionStatus} from the
+   * given {@link Any}. This implementation expects
+   * the integer (Corba long) value, stating the completion
+   * status.
+   *
+   * @param a an Any to extract the completion status from.
+   *
+   * @return completion status
+   */
+  public static CompletionStatus extract(Any a)
+  {
+    return CompletionStatus.from_int(a.extract_long());
+  }
+
+  /**
+   * Returns the agreed Id.
+   * @return <code>IDL:omg.org/CORBA/CompletionStatus:1.0</code>, always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/CompletionStatus:1.0";
+  }
+
+  /**
+  * Insert into the given {@link CompletionStatus} into the
+  * given {@link Any}. This implementation inserts it as an
+  * integer (CORBA long).
+  *
+  * @param into the target Any.
+  * @param that the {@link CompletionStatus} to insert.
+  */
+  public static void insert(Any into, CompletionStatus that)
+  {
+    into.insert_long(that.value());
+  }
+
+  /**
+   * Reads the {@link CompletionStatus} from the CORBA input stream.
+   * This implementation reads an an integer (CORBA long).
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static CompletionStatus read(InputStream input)
+  {
+    return CompletionStatus.from_int(input.read_long());
+  }
+
+  /**
+   * Writes the {@link CompletionStatus} into the given stream.
+   * This implementation writes an int (CORBA long), corresponding
+   * the status of completion.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param status the value that must be written.
+   */
+  public static void write(OutputStream output, CompletionStatus status)
+  {
+    output.write_long(status.value());
+  }
+
+  /**
+   * Get the parameter mode typecode (enumeration, named "CompletionStatus").
+   * The typecode states that the enumeration can obtain one of
+   * the following values:  COMPLETED_YES ,COMPLETED_NO or COMPLETED_MAYBE .
+   */
+  public static TypeCode type()
+  {
+    String[] members =
+      new String[] { "COMPLETED_YES", "COMPLETED_NO", "COMPLETED_MAYBE" };
+    
+    return
+      OrbRestricted.Singleton.create_enum_tc(id(), "CompletionStatus",
+                                             members
+      );
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Context.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,122 @@
+/* Context.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ *
+ * This class holds the list of the named properties. It is normally
+ * used to represent information about various circumstances of the
+ * invocation. A Context if first created by
+ * {@link org.omg.CORBA.ORB#get_default_context() } and then invoking
+ * {@link create_child(String)} of the default context.
+ *
+ * The contexts are named.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ */
+public abstract class Context
+{
+  public Context()
+  {
+  }
+
+  /**
+   * Get the context name.
+   * @return the name of this context.
+   */
+  public abstract String context_name();
+
+  /**
+   * Create a child of this Context, giving it a name.
+   * @param name a name of the child context.
+   *
+   * @return the newly created context.
+   */
+  public abstract Context create_child(String child);
+
+  /**
+   * Delete one or several (identically named) given properties.
+   *
+   * @param property the name of the property to delete, may
+   * end by wildchar character '*'. The search scope is always
+   * limited to the current context.
+   */
+  public abstract void delete_values(String property);
+
+  /**
+   * Search the values.
+   *
+   * @param start_scope the context at which to initiate the search.
+   * @param flags the search operation flags. 
+   * The flag {@link CTX_RESTRICT_SCOPE} means
+   * that search is restricted to the start_scope.
+   * @param pattern the property being searched, can be
+   * either name or name with the optional trailing wildchar character
+   * '*'.
+   * @return the list of the found properties.
+   */
+  public abstract NVList get_values(String start_scope, int flags,
+                                    String pattern
+                                   );
+
+  /**
+   * Get the parent of this context.
+   * @return the parent of this context.
+   */
+  public abstract Context parent();
+
+  /**
+   * Set a property.
+   * @param name the property name.
+   * @param value the property value (the {@link Any} must hold string).
+   */
+  public abstract void set_one_value(String name, Any value);
+  
+  /**
+   * Set multiple properties.
+   * 
+   * @param values a list of properties, the {@link Any}'s 
+   * in the list components must hold strings.
+   */
+  public abstract void set_values(NVList values);
+  
+  
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ContextList.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,85 @@
+/* ContextList.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Stores a modifiable list of String objects representing the property names.
+ * The property values are normally stored in the {@link Context }.
+ *
+ * The context list is created by invoking {@link ORB#create_context_list()}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class ContextList
+{
+  /**
+   * Add a name object
+   * @param name a name to add.
+   */
+  public abstract void add(String name);
+
+  /**
+   * Return the number of stored names
+   *
+   * @return a number of names.
+   */
+  public abstract int count();
+
+  /**
+   * Return the name at the given index.
+   *
+   * @param at the index
+   * @return the name at the given index
+   *
+   * @throws Bounds if the index is out of bounds.
+   */
+  public abstract String item(int at)
+                       throws Bounds;
+
+  /**
+   * Remove the name at the given index.
+   *
+   * @param at the index
+   *
+   * @throws Bounds if the index is out of bounds.
+   */
+  public abstract void remove(int at)
+                       throws Bounds;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Current.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,59 @@
+/* Current.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * <p>
+ * The interfaces, derived from this class, define the objects, providing
+ * information, associated with a particular thread of execution. The examples
+ * of such data could be the security information, transaction identifiers
+ * and so on.
+ * </p><p>
+ * The various aspects of this information are provided by subinterfaces,
+ * derived from the Current. There are no operations defined for
+ * the "general" Current itself.
+ * </p>
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface Current
+  extends org.omg.CORBA.Object, IDLEntity, CurrentOperations
+{
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,176 @@
+/* CurrentHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the CORBA object {@link Current}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class CurrentHelper
+{
+  /**
+   * The Current stub (proxy), used on the client side.
+   * The {@link Current} methods should contain the code for remote
+   * invocaton. As there are no methods defined, this class is only
+   * used for the formal support of the
+   * {@link #narrow(org.omg.CORBA.Object)}.
+   */
+  private static class _CurrentStub
+    extends ObjectImpl
+    implements Current
+  {
+    /**
+     * Create the naming context stub with the given delegate.
+     */
+    public _CurrentStub(Delegate delegate)
+    {
+      _set_delegate(delegate);
+    }
+
+    /**
+     * Return the array of repository ids for this object.
+     */
+    public String[] _ids()
+    {
+      return new String[] { id() };
+    }
+  }
+
+  /**
+   * Get the type code of the {@link Current}.
+   */
+  public static TypeCode type()
+  {
+    return
+      OrbRestricted.Singleton.create_interface_tc(id(), "Current");
+  }
+
+  /**
+   * Insert the Current into the given Any.
+   *
+   * @param any the Any to insert into.
+   * @param that the Current to insert.
+   */
+  public static void insert(Any any, Current that)
+  {
+    any.insert_Object(that);
+  }
+
+  /**
+   * Extract the Current from given Any.
+   *
+   * @throws BAD_OPERATION if the passed Any does not contain Current.
+   */
+  public static Current extract(Any any)
+  {
+    return narrow(any.extract_Object());
+  }
+
+  /**
+   * Get the Current repository id.
+   *
+   * @return "IDL:omg.org/CORBA/Current:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/Current:1.0";
+  }
+
+  /**
+   * Cast the passed object into the Current. If the
+   * object has a different java type, create an instance
+   * of the _CurrentStub, using the same delegate, as for
+   * the passed parameter. Hence, unlike java type cast,
+   * this method may return a different object, than has been passed.
+   *
+   * @param obj the object to narrow.
+   * @return narrowed instance.
+   *
+   * @throws BAD_PARAM if the passed object is not a Current.
+   */
+  public static Current narrow(org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof Current)
+      return (Current) obj;
+    else if (!obj._is_a(id()))
+      throw new BAD_PARAM("Not a Current");
+    else
+      {
+        Delegate delegate = ((ObjectImpl) obj)._get_delegate();
+        return new _CurrentStub(delegate);
+      }
+  }
+
+  /**
+   * Read the Current from the CDR intput stream (IOR profile expected).
+   *
+   * @param input a org.omg.CORBA.portable stream to read from.
+   */
+  public static Current read(InputStream input)
+  {
+    return narrow(input.read_Object());
+  }
+
+  /**
+   * Write the Current to the CDR output stream (as IOR profile).
+   *
+   * @param output a org.omg.CORBA.portable stream stream to write into.
+   * @param value a value to write.
+   */
+  public static void write(OutputStream output, Current value)
+  {
+    output.write_Object(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,103 @@
+/* CurrentHolder.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the object {@link Current}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class CurrentHolder
+  implements Streamable
+{
+  /**
+   * The stored Current value.
+   */
+  public Current value;
+
+  /**
+   * Create the uninitialised instance, leaving the value field
+   * with default <code>null</code> value.
+   */
+  public CurrentHolder()
+  {
+  }
+
+  /**
+   * Create the initialised instance.
+   * @param initialValue the value that will be assigned to
+   * the <code>value</code> field.
+   */
+  public CurrentHolder(Current initialValue)
+  {
+    value = initialValue;
+  }
+
+  /**
+   * Fill in the {@link #value} by data from the CDR stream.
+   *
+   * @param input the org.omg.CORBA.portable stream to read.
+   */
+  public void _read(InputStream input)
+  {
+    value = CurrentHelper.read(input);
+  }
+
+  /**
+   * Write the stored value into the CDR stream.
+   *
+   * @param output the org.omg.CORBA.portable stream to write.
+   */
+  public void _write(OutputStream output)
+  {
+    CurrentHelper.write(output, value);
+  }
+
+  /**
+   * Get the typecode of the Current.
+   */
+  public org.omg.CORBA.TypeCode _type()
+  {
+    return CurrentHelper.type();
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CurrentOperations.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,57 @@
+/* CurrentOperations.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * <p>
+ * The interfaces, derived from this class, define operations that provide
+ * information, associated with a particular thread of execution.
+ * </p><p>
+ * There are no operations for the general "Current". Instead, the operations
+ * are defined for various subinterfaces that were derived from the
+ * Current.
+ * </p>
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ *
+ * @see Current
+ */
+public interface CurrentOperations
+{
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomMarshal.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,68 @@
+/* CustomMarshal.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * This interface indicates that the object can provide its own methods
+ * for reading and writing its content. This interface is typically used
+ * by the CORBA implementation only. The user application should use the
+ * {@link CustomValue} that is a descendant of this interface.
+ *
+ * @see DataInputStream
+ * @see DataOutputStream
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface CustomMarshal
+{
+  /**
+   * Read (unmarshal) the content of this object from the given input stream.
+   *
+   * @param into_stream a stream to read from.
+   */
+  public void marshal(DataOutputStream into_stream);
+
+  /**
+   * Write (marshal) the content of this object to the given input stream.
+   *
+   * @param from_stream a stream to write into.
+   */
+  public void unmarshal(DataInputStream from_stream);
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/CustomValue.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,60 @@
+/* CustomValue.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.ValueBase;
+
+/**
+ * A Custom Value is a {@link ValueBase} implementing its own methods for
+ * reading and writing (unmarshaling and marshaling) the content. These methods
+ * are defined in superinterface {@link CustomMarshal}.
+ *
+ * Custom value types can never be safely truncated to the more general
+ * base type. They and always require an exact match for their RepositoryId
+ * in the receiving context.
+ *
+ * If the value base does not implement this interface, it normally implements
+ * {@link org.omg.CORBA.portable.StremableValue} instead.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface CustomValue
+  extends ValueBase, CustomMarshal
+{
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,117 @@
+/* DATA_CONVERSION.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the ORB cannot convert between the marshalled and
+ * native data representation.
+ * 
+ * In GNU Classpath, this exception may have the following minor codes:
+ * 
+ * <table border="1">
+ * <tr>
+ * <td>Hex</td>
+ * <td>Dec</td>
+ * <td>Minor</td>
+ * <td>Name</td>
+ * <td>Case</td>
+ * </tr>
+ * <td>47430016</td>
+ * <td>1195573270</td>
+ * <td>22</td>
+ * <td>Missing_IOR</td>
+ * <td>The object URL is such that the IOR string must be read from some
+ * local or remote resource (file or network), but this resource is not
+ * reacheable.</td>
+ * </tr>
+ * </table> 
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class DATA_CONVERSION
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 1874869932271600956L;
+
+  /**
+   * Creates a DATA_CONVERSION with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public DATA_CONVERSION(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates DATA_CONVERSION with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public DATA_CONVERSION()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a DATA_CONVERSION exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public DATA_CONVERSION(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created DATA_CONVERSION exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public DATA_CONVERSION(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataInputStream.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,276 @@
+/* DataInputStream.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.ValueBase;
+
+/**
+ * An interface for reading the custom value types. A value type, providing
+ * its own mechanism for reading the content, must implement
+ * the {@link CustomValue} that uses this interface.
+ *
+ * @see CustomValue
+ * @see CustomMarshal
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DataInputStream
+  extends ValueBase
+{
+  /**
+   * Read {@link Any}.
+   * @return a value, extracted from the stream.
+   */
+  Any read_any();
+
+  /**
+   * Read boolean.
+   * @return a value, extracted from the stream.
+   */
+  boolean read_boolean();
+
+  /**
+   * Read narrow (usually 8 bit) char.
+   * @return a value, extracted from the stream.
+   */
+  char read_char();
+
+  /**
+   * Read wide (usually 16 bit) char.
+   * @return a value, extracted from the stream.
+   */
+  char read_wchar();
+
+  /**
+   * Read octet (byte).
+   * @return a value, extracted from the stream.
+   */
+  byte read_octet();
+
+  /**
+   * Read short (16 bit int).
+   * @return a value, extracted from the stream.
+   */
+  short read_short();
+
+  /**
+   * Read unsigned short.
+   * @return a value, extracted from the stream.
+   */
+  short read_ushort();
+
+  /**
+   * Read CORBA long (java int, 32 bits).
+   * @return a value, extracted from the stream.
+   */
+  int read_long();
+
+  /**
+   * Read CORBA unsigned long (java int).
+   * @return a value, extracted from the stream.
+   */
+  int read_ulong();
+
+  /**
+   * Read CORBA long long (java long, 64 bits).
+   * @return a value, extracted from the stream.
+   */
+  long read_longlong();
+
+  /**
+   * Read unsigned CORBA long long (java long, 64 bits).
+   * @return a value, extracted from the stream.
+   */
+  long read_ulonglong();
+
+  /**
+   * Read float.
+   * @return a value, extracted from the stream.
+   */
+  float read_float();
+
+  /**
+   * Read dobule.
+   * @return a value, extracted from the stream.
+   */
+  double read_double();
+
+  /**
+   * Read narrow string (usually 8 bits per character).
+   * @return a value, extracted from the stream.
+   */
+  String read_string();
+
+  /**
+   * Read wide string (usually 16 bits per character).
+   * @return a value, extracted from the stream.
+   */
+  String read_wstring();
+
+  /**
+   * Read CORBA object.
+   *
+   * @return a value, extracted from the stream. May be null
+   * if the null was previously written by {@link DataOutputStream#write_Object}.
+   */
+  org.omg.CORBA.Object read_Object();
+
+  /**
+   * Read abstract interface.
+   *
+   * @return a value, extracted from the stream. May be either CORBA Object or
+   * CORBA value type.
+   */
+  java.lang.Object read_Abstract();
+
+  /**
+   * Read the CORBA value type.
+   * @return a value, extracted from the stream.
+   */
+  java.io.Serializable read_Value();
+
+  /**
+   * Read typecode.
+   * @return a value, extracted from the stream.
+   */
+  TypeCode read_TypeCode();
+
+  /**
+   * Read array of Any's.
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_any_array(AnySeqHolder seq, int offset, int length);
+
+  /**
+   * Read boolean array.
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_boolean_array(BooleanSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of narrow (usually 8 bit) chars.
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_char_array(CharSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of wide (usually 16 bit) chars.
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_wchar_array(WCharSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of bytes.
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_octet_array(OctetSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of shorts (16 bit ints).
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_short_array(ShortSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of unsigned shorts (16 bit ints).
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_ushort_array(UShortSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of CORBA longs (java ints).
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_long_array(LongSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of CORBA unsigned longs (java ints).
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_ulong_array(ULongSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of CORBA unsigned long longs (java longs).
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_ulonglong_array(ULongLongSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of CORBA long longs (java longs).
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_longlong_array(LongLongSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of floats.
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_float_array(FloatSeqHolder seq, int offset, int length);
+
+  /**
+   * Read array of doubles.
+   *
+   * The value, extracted from the stream, is returned in the
+   * .value field of the passed holder.
+   */
+  void read_double_array(DoubleSeqHolder seq, int offset, int length);
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DataOutputStream.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,281 @@
+/* DataOutputStream.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.ValueBase;
+
+/**
+ * An interface for writing the custom value types. A value type, providing
+ * its own mechanism for writing the content, must implement
+ * the {@link CustomValue} that uses this interface.
+ *
+ * @see CustomValue
+ * @see CustomMarshal
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DataOutputStream
+  extends ValueBase
+{
+  /**
+   * Write {@link Any} to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_any(Any value);
+
+  /**
+   * Write boolean to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_boolean(boolean value);
+
+  /**
+   * Write narrow (usually 8 bit) char to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_char(char value);
+
+  /**
+   * Write wide (usually 16 bit) char to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_wchar(char value);
+
+  /**
+   * Write octet (byte) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_octet(byte value);
+
+  /**
+   * Write short (16 bit signed integer) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_short(short value);
+
+  /**
+   * Write unsigned short to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_ushort(short value);
+
+  /**
+   * Write CORBA long (32 bits, java int) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_long(int value);
+
+  /**
+   * Write unsigned CORBA long (32 bits, java int) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_ulong(int value);
+
+  /**
+   * Write CORBA long long (64 bits, java long) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_longlong(long value);
+
+  /**
+   * Write unsigned CORBA long long (64 bits, java long) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_ulonglong(long value);
+
+  /**
+   * Write float to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_float(float value);
+
+  /**
+   * Write double to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_double(double value);
+
+  /**
+   * Write narrow (usually 8 bits per character) string to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_string(String value);
+
+  /**
+   * Write wide (usually 16 bits per character) string to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_wstring(String value);
+
+  /**
+   * Write CORBA object reference to the output stream.
+   *
+   * @param value a value to write, null should be supported.
+   */
+  void write_Object(org.omg.CORBA.Object value);
+
+  /**
+   * Write abstract interface to the output stream.
+   *
+   * @param value a value to write, can be either CORBA object or
+   * CORBA value type.
+   */
+  void write_Abstract(java.lang.Object value);
+
+  /**
+   * Write value type to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_Value(java.io.Serializable value);
+
+  /**
+   * Write typecode to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_TypeCode(TypeCode value);
+
+  /**
+   * Write array of Any's to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_any_array(Any[] seq, int offset, int length);
+
+  /**
+   * Write array of boolean's to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_boolean_array(boolean[] seq, int offset, int length);
+
+  /**
+   * Write array of narrow chars to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_char_array(char[] seq, int offset, int length);
+
+  /**
+   * Write array of wide chars to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_wchar_array(char[] seq, int offset, int length);
+
+  /**
+   * Write array of octets (bytes) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_octet_array(byte[] seq, int offset, int length);
+
+  /**
+   * Write array of shorts (16 bit integers) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_short_array(short[] seq, int offset, int length);
+
+  /**
+   * Write array of unsigned shorts (16 bit integers) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_ushort_array(short[] seq, int offset, int length);
+
+  /**
+   * Write array of CORBA longs (java ints) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_long_array(int[] seq, int offset, int length);
+
+  /**
+   * Write array of unsigned CORBA longs (java ints) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_ulong_array(int[] seq, int offset, int length);
+
+  /**
+   * Write array of unsigned CORBA long longs (java longs)
+   * to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_ulonglong_array(long[] seq, int offset, int length);
+
+  /**
+   * Write arrayo fo CORBA long longs (java ints) to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_longlong_array(long[] seq, int offset, int length);
+
+  /**
+   * Write array of floats to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_float_array(float[] seq, int offset, int length);
+
+  /**
+   * Write array of doubles to the output stream.
+   *
+   * @param value a value to write.
+   */
+  void write_double_array(double[] seq, int offset, int length);
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKind.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,425 @@
+/* DefinitionKind.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * This class indicates the kind of the definition, stored in the interface
+ * repository.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class DefinitionKind
+  implements IDLEntity, Serializable
+{
+  /**
+   * Use v1.4 serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = -8601167576704143376L;
+
+  /**
+   * Indicates that the current definition defines has no definition kind.
+   */
+  public static final int _dk_none = 0;
+
+  /**
+   * This is a "wildcard '*'", used in cases where any definition kind
+   * is appropriate .
+   */
+  public static final int _dk_all = 1;
+
+  /**
+   * Indicates that the current definition defines an attribute.
+   */
+  public static final int _dk_Attribute = 2;
+
+  /**
+   * Indicates that the current definition defines a constant.
+   */
+  public static final int _dk_Constant = 3;
+
+  /**
+   * Indicates that the current definition defines an exception.
+   */
+  public static final int _dk_Exception = 4;
+
+  /**
+   * Indicates that the current definition defines an interface.
+   * The interface definition can contain constants, types,
+   * exceptions, operations, and attributes.
+   */
+  public static final int _dk_Interface = 5;
+
+  /**
+   * Indicates that the current definition defines a Module.
+   * The Module can contain constants, typedefs, exceptions and also
+   * interface, component, home, value or event type definitions.
+   * The module can also enclose other (nested) modules.
+   */
+  public static final int _dk_Module = 6;
+
+  /**
+   * Indicates that the current definition defines an operation, including
+   * the lists of parameters and exceptions raised by this operation.
+   */
+  public static final int _dk_Operation = 7;
+
+  /**
+   * Indicates that the current definition defines a named type that is not
+   * an interface nor a value definition. Generally, it also cannot be
+   * a definition of component, home and event, but these three kinds are
+   * not listed in this class.
+   */
+  public static final int _dk_Typedef = 8;
+
+  /**
+   * Indicates that the current definition defines an alias.
+   */
+  public static final int _dk_Alias = 9;
+
+  /**
+   * Indicates that the current definition defines a structure.
+   */
+  public static final int _dk_Struct = 10;
+
+  /**
+   * Indicates that the current definition defines a union.
+   */
+  public static final int _dk_Union = 11;
+
+  /**
+   * Indicates that the current definition defines an enumeration.
+   */
+  public static final int _dk_Enum = 12;
+
+  /**
+   * Indicates that the current definition defines a primitive type.
+   */
+  public static final int _dk_Primitive = 13;
+
+  /**
+   * Indicates that the current definition defines a string.
+   */
+  public static final int _dk_String = 14;
+
+  /**
+   * Indicates that the current definition defines a sequence.
+   */
+  public static final int _dk_Sequence = 15;
+
+  /**
+   * Indicates that the current definition defines an array.
+   */
+  public static final int _dk_Array = 16;
+
+  /**
+   * Indicates that the current definition defines an another interface
+   * repository.
+   */
+  public static final int _dk_Repository = 17;
+
+  /**
+   * Indicates that the current definition defines a wide (usually 16-bit
+   * per character) string.
+   */
+  public static final int _dk_Wstring = 18;
+
+  /**
+   * Indicates that the current definition defines a CORBA <code>fixed</code>.
+   */
+  public static final int _dk_Fixed = 19;
+
+  /**
+   * Indicates that the current definition defines a value.
+   */
+  public static final int _dk_Value = 20;
+
+  /**
+   * Indicates that the current definition defines a value box.
+   */
+  public static final int _dk_ValueBox = 21;
+
+  /**
+   * Indicates that the current definition defines value member.
+   */
+  public static final int _dk_ValueMember = 22;
+
+  /**
+   * Indicates that the current definition defines a Native.
+   */
+  public static final int _dk_Native = 23;
+
+  /**
+   * Indicates that the current definition defines an abstract interface.
+   */
+  public static final int _dk_AbstractInterface = 24;
+
+  /**
+   * Indicates that the current definition defines has no definition kind.
+   */
+  public static final DefinitionKind dk_none = new DefinitionKind(_dk_none);
+
+  /**
+   * This is a "wildcard '*'", used in cases where any definition kind
+   * is appropriate .
+   */
+  public static final DefinitionKind dk_all = new DefinitionKind(_dk_all);
+
+  /**
+   * Indicates that the current definition defines an attribute.
+   */
+  public static final DefinitionKind dk_Attribute = new DefinitionKind(_dk_Attribute);
+
+  /**
+   * Indicates that the current definition defines a constant.
+   */
+  public static final DefinitionKind dk_Constant = new DefinitionKind(_dk_Constant);
+
+  /**
+   * Indicates that the current definition defines an exception.
+   */
+  public static final DefinitionKind dk_Exception = new DefinitionKind(_dk_Exception);
+
+  /**
+   * Indicates that the current definition defines an interface.
+   * The interface definition can contain constants, types,
+   * exceptions, operations, and attributes.
+   */
+  public static final DefinitionKind dk_Interface = new DefinitionKind(_dk_Interface);
+
+  /**
+   * Indicates that the current definition defines a Module.
+   * The Module can contain constants, typedefs, exceptions and also
+   * interface, component, home, value or event type definitions.
+   * The module can also enclose other (nested) modules.
+   */
+  public static final DefinitionKind dk_Module = new DefinitionKind(_dk_Module);
+
+  /**
+   * Indicates that the current definition defines an operation, including
+   * the lists of parameters and exceptions raised by this operation.
+   */
+  public static final DefinitionKind dk_Operation = new DefinitionKind(_dk_Operation);
+
+  /**
+   * Indicates that the current definition defines a named type that is not
+   * an interface nor a value definition. Generally, it also cannot be
+   * a definition of component, home and event, but these three kinds are
+   * not listed in this class.
+   */
+  public static final DefinitionKind dk_Typedef = new DefinitionKind(_dk_Typedef);
+
+  /**
+   * Indicates that the current definition defines an alias.
+   */
+  public static final DefinitionKind dk_Alias = new DefinitionKind(_dk_Alias);
+
+  /**
+   * Indicates that the current definition defines a structure.
+   */
+  public static final DefinitionKind dk_Struct = new DefinitionKind(_dk_Struct);
+
+  /**
+   * Indicates that the current definition defines a union.
+   */
+  public static final DefinitionKind dk_Union = new DefinitionKind(_dk_Union);
+
+  /**
+   * Indicates that the current definition defines an enumeration.
+   */
+  public static final DefinitionKind dk_Enum = new DefinitionKind(_dk_Enum);
+
+  /**
+   * Indicates that the current definition defines a primitive type.
+   */
+  public static final DefinitionKind dk_Primitive = new DefinitionKind(_dk_Primitive);
+
+  /**
+   * Indicates that the current definition defines a string.
+   */
+  public static final DefinitionKind dk_String = new DefinitionKind(_dk_String);
+
+  /**
+   * Indicates that the current definition defines a sequence.
+   */
+  public static final DefinitionKind dk_Sequence = new DefinitionKind(_dk_Sequence);
+
+  /**
+   * Indicates that the current definition defines an array.
+   */
+  public static final DefinitionKind dk_Array = new DefinitionKind(_dk_Array);
+
+  /**
+   * Indicates that the current definition defines an another interface
+   * repository.
+   */
+  public static final DefinitionKind dk_Repository =
+    new DefinitionKind(_dk_Repository);
+
+  /**
+   * Indicates that the current definition defines a wide (usually 16-bit
+   * per character) string.
+   */
+  public static final DefinitionKind dk_Wstring = new DefinitionKind(_dk_Wstring);
+
+  /**
+   * Indicates that the current definition defines a CORBA <code>fixed</code>.
+   */
+  public static final DefinitionKind dk_Fixed = new DefinitionKind(_dk_Fixed);
+
+  /**
+   * Indicates that the current definition defines a value.
+   */
+  public static final DefinitionKind dk_Value = new DefinitionKind(_dk_Value);
+
+  /**
+   * Indicates that the current definition defines a value box.
+   */
+  public static final DefinitionKind dk_ValueBox = new DefinitionKind(_dk_ValueBox);
+
+  /**
+   * Indicates that the current definition defines value member.
+   */
+  public static final DefinitionKind dk_ValueMember =
+    new DefinitionKind(_dk_ValueMember);
+
+  /**
+   * Indicates that the current definition defines a Native.
+   */
+  public static final DefinitionKind dk_Native = new DefinitionKind(_dk_Native);
+
+  /**
+   * Indicates that the current definition defines .
+   */
+  public static final DefinitionKind dk_AbstractInterface =
+    new DefinitionKind(_dk_AbstractInterface);
+
+  /**
+   * The defintion code of the current instance of the definition kind.
+   */
+  private final int kind;
+
+  /**
+   * The table of the definition kinds
+   */
+  private static DefinitionKind[] table;
+
+  /**
+   * Creates a definition kind with the given integer definition kind code.
+   *
+   * @param a_kind a definition kind code, one of the _dk_.. constants,
+   * defined in this class.
+   */
+  protected DefinitionKind(int a_kind)
+  {
+    kind = a_kind;
+  }
+
+  /**
+   * Get the definition code of the current instance of the definition kind.
+   *
+   * @return one of the _dk_... constants, defined in this class.
+   */
+  public int value()
+  {
+    return kind;
+  }
+
+  /**
+   * Get the definition kind, corresponding the given integer code.
+   *
+   * @param a_kind the definition kind code, one of the _dk_... constants,
+   * defined in this class.
+   *
+   * @return the corresponding definition kind, one of the dk_... constants,
+   * defined in this class.
+   *
+   * @throws BAD_PARAM if the given integer does not match any definition
+   * kind.
+   */
+  public static DefinitionKind from_int(int a_kind)
+  {
+    if (table == null)
+      fill_table();
+    try
+      {
+        return table [ a_kind ];
+      }
+    catch (ArrayIndexOutOfBoundsException ex)
+      {
+        throw new BAD_PARAM("No def. kind " + a_kind);
+      }
+  }
+
+  /**
+   * Fill the conversion table on demand.
+   */
+  private static void fill_table()
+  {
+    table = new DefinitionKind[ 25 ];
+    table [ _dk_none ] = dk_none;
+    table [ _dk_all ] = dk_all;
+    table [ _dk_Attribute ] = dk_Attribute;
+    table [ _dk_Constant ] = dk_Constant;
+    table [ _dk_Exception ] = dk_Exception;
+    table [ _dk_Interface ] = dk_Interface;
+    table [ _dk_Module ] = dk_Module;
+    table [ _dk_Operation ] = dk_Operation;
+    table [ _dk_Typedef ] = dk_Typedef;
+    table [ _dk_Alias ] = dk_Alias;
+    table [ _dk_Struct ] = dk_Struct;
+    table [ _dk_Union ] = dk_Union;
+    table [ _dk_Enum ] = dk_Enum;
+    table [ _dk_Primitive ] = dk_Primitive;
+    table [ _dk_String ] = dk_String;
+    table [ _dk_Sequence ] = dk_Sequence;
+    table [ _dk_Array ] = dk_Array;
+    table [ _dk_Repository ] = dk_Repository;
+    table [ _dk_Wstring ] = dk_Wstring;
+    table [ _dk_Fixed ] = dk_Fixed;
+    table [ _dk_Value ] = dk_Value;
+    table [ _dk_ValueBox ] = dk_ValueBox;
+    table [ _dk_ValueMember ] = dk_ValueMember;
+    table [ _dk_Native ] = dk_Native;
+    table [ _dk_AbstractInterface ] = dk_AbstractInterface;
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* DefinitionKindHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.DefinitionKindHolder;
+import gnu.CORBA.OrbRestricted;
+import gnu.CORBA.gnuAny;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the definition kind.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class DefinitionKindHelper
+{
+  /**
+   * Insert the definition kind into the given Any.
+   */
+  public static void insert(Any a, DefinitionKind that)
+  {
+    a.insert_Streamable(new DefinitionKindHolder(that));
+  }
+
+  /**
+   * Extract the definition kind from the given Any.
+   */
+  public static DefinitionKind extract(Any a)
+  {
+    return ((DefinitionKindHolder) a.extract_Streamable()).value;
+  }
+
+  /**
+   * Get the definition kind typecode (enumeration, named "DefinitionKind").
+   * The member names are listed as defined by java 1.4 specification.
+   * The names, defined in OMG specification only (like dk_Home or
+   * dk_Event) are not listed.
+   */
+  public static TypeCode type()
+  {
+    String[] members =
+      new String[]
+                 {
+                  "dk_none", "dk_all", "dk_Attribute", "dk_Constant", "dk_Exception",
+                  "dk_Interface", "dk_Module", "dk_Operation", "dk_Typedef",
+                  "dk_Alias", "dk_Struct", "dk_Union", "dk_Enum", "dk_Primitive",
+                  "dk_String", "dk_Sequence", "dk_Array", "dk_Repository",
+                  "dk_Wstring", "dk_Fixed", "dk_Value", "dk_ValueBox",
+                  "dk_ValueMember", "dk_Native"
+                 };
+    
+    return
+    OrbRestricted.Singleton.create_enum_tc(id(), "DefinitionKind",
+                                           members
+    );
+  }
+
+  /**
+   * Get the definition kind repository id.
+   *
+   * @return "IDL:omg.org/CORBA/DefinitionKind:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/DefinitionKind:1.0";
+  }
+
+  /**
+   * Read the definitin kind (as int) from the CDR intput stream.
+   *
+   * @param istream a stream to read from.
+   */
+  public static DefinitionKind read(InputStream istream)
+  {
+    return DefinitionKind.from_int(istream.read_long());
+  }
+
+  /**
+   * Write the definition kind (as int) to the CDR output stream.
+   *
+   * @param ostream a stream to write into.
+   * @param value a value to write.
+   */
+  public static void write(OutputStream ostream, DefinitionKind value)
+  {
+    ostream.write_long(value.value());
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManager.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,57 @@
+/* DomainManager.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * Establishes and navigates relationships to superior and subordinate domains,
+ * and also creates and access policies.
+ *
+ * The DomainManager has associated with it the policy objects for a
+ * particular domain.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface DomainManager
+  extends IDLEntity, Object, Serializable, DomainManagerOperations
+{
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DomainManagerOperations.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,59 @@
+/* DomainManagerOperations.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Provides the means to access the policies of the domain, with that
+ * the implementing {@link DomainManage} is associated.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface DomainManagerOperations
+{
+  /**
+   * Get the policy of the specified type for the objects, belonging
+   * to this domain. The policy types are domain specific.
+   *
+   * @param policy_type the policy type
+   *
+   * @return the policy
+   */
+  Policy get_domain_policy(int policy_type);
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* DoubleHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>double</code> that is mapped into
+ * java <code>double</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class DoubleHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_double =
+    new PrimitiveTypeCode(TCKind.tk_double);
+
+  /**
+   * The <code>double</code> (CORBA <code>double</code>) value,
+   * held by this DoubleHolder.
+   */
+  public double value;
+
+  /**
+   * Constructs an instance of DoubleHolder,
+   * initializing {@link #value} to <code>0.0</code>.
+   */
+  public DoubleHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of DoubleHolder,
+   * initializing {@link #value} to the given <code>double</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public DoubleHolder(double initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>double</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_double}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_double();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_double;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>double</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_double(double) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_double(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* DoubleSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>double</code>
+ * (<code>DoubleSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class DoubleSeqHelper
+{
+  /**
+   * Extract the <code>double[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link DoubleSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link DoubleSeqHolder}.
+   */
+  public static double[] extract(Any a)
+  {
+    DoubleSeqHolder h = (DoubleSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>double[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link DoubleSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, double[] that)
+  {
+    DoubleSeqHolder holder = new DoubleSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>double[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static double[] read(InputStream input)
+  {
+    double[] value = new double[ input.read_long() ];
+    input.read_double_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>DoubleSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_double);
+  }
+
+  /**
+   * Writes the <code>double[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, double[] value)
+  {
+    output.write_long(value.length);
+    output.write_double_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* DoubleSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>DoubleSeq</code> that is mapped into
+ * java <code>double[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class DoubleSeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>double[]</code> (CORBA <code>DoubleSeq</code>) value,
+   * held by this DoubleSeqHolder.
+   */
+  public double[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_double);
+
+  /**
+   * Constructs an instance of DoubleSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public DoubleSeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of DoubleSeqHolder,
+   * initializing {@link #value} to the given <code>double[]</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public DoubleSeqHolder(double[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#read_double_array }.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new double[ input.read_long() ];
+    input.read_double_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#write_double_array }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_double_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAny.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,505 @@
+/* DynAny.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.Invalid;
+import org.omg.CORBA.DynAnyPackage.InvalidValue;
+import org.omg.CORBA.DynAnyPackage.TypeMismatch;
+
+import java.io.Serializable;
+
+/**
+ * The DynAny interface provides possibility to access the components of
+ * the CORBA object, stored inside the {@link Any}. The {@link Any} itself
+ * allows to read, write and pass as parameter the stored value without
+ * knowning its exact data type. The DynAny and derived classes additionally
+ * allows to access the members of the sequence, structure, union and get the
+ * data about enumeration, value type and CORBA <code>fixed</code> without
+ * knowing the exact type at the run time. The returned members are also
+ * wrapped into DynAny objects, allowing them to be the nested structures.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynAny
+  extends org.omg.CORBA.Object
+{
+  /**
+   * Copy one DynAny into another.
+   *
+   * @param from the DynAny to copy from.
+   * @throws Invalid if the source DynAny is invalid.
+   */
+  void assign(DynAny from)
+       throws Invalid;
+
+  /**
+   * Clones this DynAny.
+   */
+  DynAny copy();
+
+  /**
+   * Returns the focused component of this DynAny. The DynAny has the internal
+   * pointer (reference) that can point to one of its components. The returned
+   * DynAny can be used to get or set the value of the focused component.
+   * If the DynAny holds a primitive type with no components, this
+   * implementation returns <code>this</code>.
+   */
+  DynAny current_component();
+
+  /**
+   * Destroys this DynAny, freeing the used resources. In java, resources
+   * are freed by the garbage collectors, so this method typically returns
+   * without action.
+   */
+  void destroy();
+
+  /**
+   * Makes a DynAny from the {@link Any}. The passed {@link Any} becomes the
+   * enclosed instance of this DynAny, allowing to change/traverse the
+   * {@link Any} fields by the {@link DynAny} methods.
+   */
+  void from_any(Any an_any)
+         throws Invalid;
+
+  /**
+   * Retrieves the {@link Any}, stored inside this DynAny.
+   *
+   * @throws TypeMismatch if the typecode of the accessed Any
+   * is not the same as the typecode of this DynAny.
+   */
+  Any get_any()
+       throws TypeMismatch;
+
+  /**
+   * Extract the boolean value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  boolean get_boolean()
+               throws TypeMismatch;
+
+  /**
+   * Extract the char value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  char get_char()
+         throws TypeMismatch;
+
+  /**
+   * Extract the <code>double</code> value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  double get_double()
+             throws TypeMismatch;
+
+  /**
+   * Extract the <code>float</code> value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  float get_float()
+           throws TypeMismatch;
+
+  /**
+   * Extract the int (CORBA long) value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  int get_long()
+        throws TypeMismatch;
+
+  /**
+   * Extract the long (CORBA long long) value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  long get_longlong()
+             throws TypeMismatch;
+
+  /**
+   * Extract the byte (CORBA octet) value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  byte get_octet()
+          throws TypeMismatch;
+
+  /**
+   * Extract the CORBA object reference that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  Object get_reference()
+                throws TypeMismatch;
+
+  /**
+   * Extract the <code>short</code> value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  short get_short()
+           throws TypeMismatch;
+
+  /**
+   * Extract the string value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  String get_string()
+             throws TypeMismatch;
+
+  /**
+   * Extract the {@link TypeCode} value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  TypeCode get_typecode()
+                 throws TypeMismatch;
+
+  /**
+   * Extract the unsigned int (CORBA ulong) value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  int get_ulong()
+         throws TypeMismatch;
+
+  /**
+   * Extract the unsingel long (CORBA unsigned long long )value that
+   * is expected to be stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  long get_ulonglong()
+              throws TypeMismatch;
+
+  /**
+   * Extract the unsigned short value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  short get_ushort()
+            throws TypeMismatch;
+
+  /**
+   * Extract the value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  Serializable get_val()
+                throws TypeMismatch;
+
+  /**
+   * Extract the wide (usually UTF-16) character value that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  char get_wchar()
+          throws TypeMismatch;
+
+  /**
+   * Extract the wide (usually UFT-16) string that is expected to be
+   * stored in this DynAny.
+   *
+   * @throws TypeMismatch if this DynAny holds the value of the
+   * different type.
+   */
+  String get_wstring()
+              throws TypeMismatch;
+
+  /**
+   * Insert the {@link Any} value into the enclosed
+   * {@link Any} inside this DynAny.
+   *
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_any(Any an_any)
+           throws InvalidValue;
+
+  /**
+   * Insert the boolean value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_boolean(boolean a_x)
+               throws InvalidValue;
+
+  /**
+   * Insert the char value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_char(char a_x)
+            throws InvalidValue;
+
+  /**
+   * Insert the double value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_double(double a_x)
+              throws InvalidValue;
+
+  /**
+   * Insert the float value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_float(float a_x)
+             throws InvalidValue;
+
+  /**
+   * Insert the int (CORBA long) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_long(int a_x)
+            throws InvalidValue;
+
+  /**
+   * Insert the long (CORBA long long) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_longlong(long a_x)
+                throws InvalidValue;
+
+  /**
+   * Insert the byte (CORBA octet) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_octet(byte a_x)
+             throws InvalidValue;
+
+  /**
+   * Insert the object reference into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_reference(Object a_x)
+                 throws InvalidValue;
+
+  /**
+   * Insert the <code>short</code> value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_short(short a_x)
+             throws InvalidValue;
+
+  /**
+   * Insert the string value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_string(String a_x)
+              throws InvalidValue;
+
+  /**
+   * Insert the {@link TypeCode} value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_typecode(TypeCode a_x)
+                throws InvalidValue;
+
+  /**
+   * Insert the int (CORBA unsinged long) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_ulong(int a_x)
+             throws InvalidValue;
+
+  /**
+   * Insert the long (CORBA unsigned long long) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_ulonglong(long a_x)
+                 throws InvalidValue;
+
+  /**
+   * Insert the short (CORBA unsigned short) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_ushort(short a_x)
+              throws InvalidValue;
+
+  /**
+   * Insert the value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_val(Serializable a_x)
+           throws InvalidValue;
+
+  /**
+   * Insert the wide char (usually UTF-16) value into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_wchar(char a_x)
+             throws InvalidValue;
+
+  /**
+   * Insert the wide string (usually UTF-16) into the enclosed
+   * {@link Any} inside this DynAny
+   * @param a_x the value being inserted.
+   * @throws InvalidValue if the value type does not match the
+   * typecode of the enclosed {@link Any}.
+   */
+  void insert_wstring(String a_x)
+               throws InvalidValue;
+
+  /**
+   * Advances the internal pointer, described in the {@link current_component},
+   * one position forward.
+   *
+   * @return true if the pointer now points to the new component,
+   * false if there are no more components of this DynAny holds
+   * a basic type that is not divided into components.
+   */
+  boolean next();
+
+  /**
+   * Moves the internal pointer, described in the {@link current_component},
+   * to the first component.
+   */
+  void rewind();
+
+  /**
+   * Moves the internal pointer, described in the {@link current_component},
+   * to the given position.
+   *
+   * @param p the number of the internal component on that the internal
+   * pointer must be focused.
+   *
+   * @return true on success or false if there is no component with the
+   * given number. If the DynAny holds the basic type, this method returs
+   * false p values other than 0.
+   */
+  boolean seek(int p);
+
+  /**
+   * Returns the enclosed {@link Any}.
+   *
+   * @return the enclosed {@link Any}.
+   */
+  Any to_any()
+      throws Invalid;
+
+  /**
+   * Returns the typecode of the object, inserted into this
+   * DynAny.
+   *
+   * @return the typecode of the inserted {@link Any} or null typecode
+   * if no {@link Any has been yet inserted}.
+   */
+  TypeCode type();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,78 @@
+/* Invalid.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This exception is thrown by dynamic any operations when a bad DynAny or Any is passed as a parameter.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class Invalid
+  extends UserException
+  implements Serializable, IDLEntity
+{
+  /**
+   * Use 1.4 version serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = -8258194490767575588L;
+
+  /**
+   * Creates Invalid without explaining message.
+   */
+  public Invalid()
+  {
+    super();
+  }
+
+  /**
+   * Created Invalid exception, providing the explaining message.
+   *
+   * @param reason the reason of throwing the exception.
+   */
+  public Invalid(String reason)
+  {
+    super(reason);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* InvalidSeq.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This exception is thrown by by dynamic any operations when a bad <code>sequence</code> is passed as a parameter.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InvalidSeq
+  extends UserException
+  implements Serializable, IDLEntity
+{
+  /**
+   * Use 1.4 version serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = -5678460771857763522L;
+
+  /**
+   * Creates InvalidSeq without explaining message.
+   */
+  public InvalidSeq()
+  {
+    super();
+  }
+
+  /**
+   * Created InvalidSeq exception, providing the explaining message.
+   *
+   * @param reason the reason of throwing the exception.
+   */
+  public InvalidSeq(String reason)
+  {
+    super(reason);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* InvalidValue.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This expception in response to insert the inapproriate value into dynamic Any, usually by the DynAny.insert_*(value) method group.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InvalidValue
+  extends UserException
+  implements Serializable, IDLEntity
+{
+  /**
+   * Use 1.4 version serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = -4741963043279146697L;
+
+  /**
+   * Creates InvalidValue without explaining message.
+   */
+  public InvalidValue()
+  {
+    super();
+  }
+
+  /**
+   * Created InvalidValue exception, providing the explaining message.
+   *
+   * @param reason the reason of throwing the exception.
+   */
+  public InvalidValue(String reason)
+  {
+    super(reason);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* TypeMismatch.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.DynAnyPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * This exception is thrown by dynamic any accessor methods when type of the actual contents do not match what is trying to be accessed.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class TypeMismatch
+  extends UserException
+  implements Serializable, IDLEntity
+{
+  /**
+   * Use 1.4 version serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = 2763424591181102501L;
+
+  /**
+   * Creates TypeMismatch without explaining message.
+   */
+  public TypeMismatch()
+  {
+    super();
+  }
+
+  /**
+   * Created TypeMismatch exception, providing the explaining message.
+   *
+   * @param reason the reason of throwing the exception.
+   */
+  public TypeMismatch(String reason)
+  {
+    super(reason);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html Thu Nov  8 16:56:19 2007
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.sql package.
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.CORBA.TypeCodePackage</title></head>
+
+<body>
+<p>Provides a couple of exceptions, thrown by methods in the <code>TypeCode</code> class.</p>
+
+</body>
+</html>

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynArray.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,65 @@
+/* DynArray.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+
+/**
+ * Represents the {@link DynAny}, holding an array.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynArray
+  extends DynAny
+{
+  /**
+   * Get the elements of the enclosed array.
+   */
+  Any[] get_elements();
+
+  /**
+   * Set the elements from of the enclosed array of Anys.
+   *
+   * @throws InvalidSeq if the passed array contains the
+   * elements of the different type of if the array size mismatch.
+   */
+  void set_elements(Any[] an_array)
+             throws InvalidSeq;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynEnum.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,84 @@
+/* DynEnum.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Represents the dynamic enumeration, allowing to get/set the value by
+ * name or by position in the enumeration list. The CORBA enumeration
+ * can obtain one of the named values from the specified enumeration list.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynEnum
+  extends DynAny
+{
+  /**
+   * Get the value of this object.
+   * @return the currently set value, one of the allowed values
+   * for this enumeration.
+   */
+  String value_as_string();
+
+  /**
+   * Set the value of this object.
+   *
+   * @param member the value to set, must be one of the allowed values for
+   * this enumeration. Otherwise the {@link SystemException} may be thrown.
+   */
+  void value_as_string(String member);
+
+  /**
+   * Set the value of this object as the position inside the list of this
+   * enumeration.
+   *
+   * @param member the position of the enumeration value inside
+   * the enumeration list. Otherwise the {@link SystemException} may be thrown.
+   */
+  void value_as_ulong(int member);
+
+  /**
+   * Get the value of this object as the position inside the list of this
+   * enumeration.
+   *
+   * @return member the position of the currently set enumeration value inside
+   * the enumeration list.
+   */
+  int value_as_ulong();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynFixed.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,77 @@
+/* DynFixed.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidValue;
+
+/**
+ * Represents a CORBA <code>fixed</code>, allowing to get and set its value
+ * in the form of the binary representation.
+ *
+ * The format, described in CORBA specification, requires to store
+ * data in hexadecimal format, two digits per byte (oceted), most
+ * significant digit first. The last half-byte in the representation
+ * stores the sign, being 0xD for negative numbers and 0xC for
+ * zero and positive numbers. To have the even number of half bytes,
+ * 0x0 is appended to the beginning, if required. The position of the
+ * decimal point is not stored.
+ *
+ * @see gnu.CORBA.BigDecimalHelper
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynFixed
+  extends DynAny
+{
+  /**
+   * Get the value of this DynFixed in the binary form.
+   *
+   * @return the binary representation, defined in the header comment.
+   */
+  byte[] get_value();
+
+  /**
+   * Sets the value of this DynFixed from the binary representation.
+   *
+   * @param a_value the byte array, representing a CORBA <code>fixed</code>,
+   * as defined in the header comment.
+   */
+  void set_value(byte[] a_value)
+          throws InvalidValue;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynSequence.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,78 @@
+/* DynSequence.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding the CORBA sequence
+ * (an array with the flexible length).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynSequence
+  extends DynAny
+{
+  /**
+   * Get the elements of the enclosed sequence.
+   */
+  Any[] get_elements();
+
+  /**
+   * Returns the number of elements, stored in the sequence.
+   * @return
+   */
+  int length();
+
+  /**
+   * Sets the length of this sequence to the given value.
+   *
+   * @param l the new length of the sequence.
+   */
+  void length(int l);
+
+  /**
+   * Set the elements from of the enclosed array of Anys.
+   *
+   * @throws InvalidSeq if the passed array contains the
+   * elements of the different type.
+   */
+  void set_elements(Any[] an_array)
+             throws InvalidSeq;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynStruct.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,89 @@
+/* DynStruct.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding the CORBA structure (record
+ * with the named fields). The internal reference, described in
+ * {@link DynAny#current_component()}, iterates over the fields of the
+ * structure.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynStruct
+  extends DynAny
+{
+/**
+ * Get the kind of the structure field that would be returned by
+ * {@link DynAny#current_component()}.
+ *
+ * @return the kind of the structure field.
+ */
+  TCKind current_member_kind();
+
+  /**
+   * Get the name of the structure field that would be returned by
+   * {@link DynAny#current_component()}.
+   *
+   * @return the name of the structure field.
+   */
+  String current_member_name();
+
+  /**
+   * Get all fields of the structure in the array of the named values,
+   * holding name, repository id and value of the associated field.
+   *
+   * @return members the array of the named values,
+   * representing the structure fields.
+   */
+  NameValuePair[] get_members();
+
+  /**
+   * Set all fields of this structure by name.
+   *
+   * @param members the array of the named values,
+   * representing the structure fields.
+   *
+   * @throws InvalidSeq if the passed argument is invalid.
+   */
+  void set_members(NameValuePair[] members)
+            throws InvalidSeq;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynUnion.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,99 @@
+/* DynUnion.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * Represents the {@link DynAny}, holding the CORBA structure (variant record
+ * with the named fields). The internal reference, described in
+ * {@link DynAny#current_component()}, iterates over the fields of the
+ * member, stored in the union. The union always holds only one member;
+ * which one, depends from the value of the discriminator.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynUnion
+  extends DynAny
+{
+  /**
+   * Returns the discriminator, defining, which set of fields is stored.
+   * @return the discriminator.
+   */
+  DynAny discriminator();
+
+  /**
+   * Returns the discriminator kind.
+   */
+  TCKind discriminator_kind();
+
+  /**
+   * Returns the member, stored in this union.
+   */
+  DynAny member();
+
+  /**
+   * Returns the kind of the member, stored in this union.
+   */
+  TCKind member_kind();
+
+  /**
+   * Returns the name of the currently focused member.
+   */
+  String member_name();
+
+  /**
+   * Renames the currently focused member.
+   *
+   * @param new_name the new name of the currently focused member.
+   */
+  void member_name(String new_name);
+
+  /**
+   * Checks if the discriminator of this union has been assigned a valid
+   * default value.
+   */
+  boolean set_as_default();
+
+  /**
+   * Determines if the discriminator of this union gets assigned a valid
+   * default value.
+   * @param assign_default
+   */
+  void set_as_default(boolean assign_default);
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynValue.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,88 @@
+/* DynValue.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.DynAnyPackage.InvalidSeq;
+
+/**
+ * Represents the {@link DynAny}, holding a value type.
+ *
+ * A value type is something between CORBA structure and CORBA object.
+ * Like CORBA object, it can have methods, supporting some IDL-defined
+ * interface. However, like structures, they are always local and passed by
+ * value, not by IOR reference.
+ *
+ * The value types can have both public and private members. They support
+ * inheritance. Value types can also be abstract.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface DynValue
+  extends DynAny, org.omg.CORBA.Object
+{
+  /**
+   * Get the kind of the member, pointed by the internal pointer.
+   *
+   * @return the kind of the member.
+   */
+  TCKind current_member_kind();
+
+  /**
+   * Get the name of the member, pointed by the internal pointer.
+   *
+   * @return the name of the member.
+   */
+  String current_member_name();
+
+  /**
+   * Get all members of the enclosed value type object.
+   * @return
+   */
+  NameValuePair[] get_members();
+
+  /**
+   * Set all members for the enclosed value type object.
+   *
+   * @param value an array of members to set.
+   *
+   * @throws InvalidSeq if the passed sequence is not valid.
+   */
+  void set_members(NameValuePair[] value)
+            throws InvalidSeq;
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/DynamicImplementation.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,178 @@
+/* DynamicImplementation.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Unexpected;
+import gnu.CORBA.gnuAny;
+import gnu.CORBA.gnuNVList;
+
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * This class was probably originally thinked as a base of all CORBA
+ * object implementations. However the code, generated by IDL to
+ * java compilers almost never use it, preferring to derive the
+ * object implementation bases directly from the {@link ObjectImpl}.
+ * The class has become deprecated since the 1.4 release.
+ *
+ * @deprecated since 1.4.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class DynamicImplementation
+  extends ObjectImpl
+{
+  /**
+   * Invoke the method of the CORBA object. After converting the parameters,
+   * this method delegates call to the {@link ObjectImpl#invoke}.
+   * 
+   * @deprecated since 1.4.
+   * 
+   * @param request the container for both passing and returing the parameters,
+   * also contains the method name and thrown exceptions.
+   */
+  public void invoke(ServerRequest request)
+  {
+    Request r = _request(request.operation());
+
+    // Copy the parameters.
+    NVList args = new gnuNVList();
+    request.arguments(args);
+    NamedValue v;
+    int i = 0;
+
+    try
+      {
+        // Set the arguments.
+        for (i = 0; i < args.count(); i++)
+          {
+            v = args.item(i);
+            Any n;
+            OutputStream out;
+
+            switch (v.flags())
+              {
+                case ARG_IN.value:
+                  out = v.value().create_output_stream();
+                  v.value().write_value(out);
+                  n = r.add_named_in_arg(v.name());
+                  n.read_value(out.create_input_stream(), v.value().type());                  
+                  break;
+                case ARG_INOUT.value:
+                  out = v.value().create_output_stream();
+                  v.value().write_value(out);
+                  n = r.add_named_inout_arg(v.name());
+                  n.read_value(out.create_input_stream(), v.value().type());                  
+                  break;
+                case ARG_OUT.value:
+                  r.add_named_out_arg(v.name());
+                  break;
+
+                default:
+                  throw new InternalError("Invalid flags " + v.flags());
+              }
+          }
+      }
+    catch (Bounds b)
+      {
+        throw new Unexpected(args.count() + "[" + i + "]", b);
+      }
+
+    // Set context.
+    r.ctx(request.ctx());
+    
+    // Set the return type (expects that the ServerRequest will initialise
+    // the passed Any.
+    
+    gnuAny g = new gnuAny();
+    request.result(g);
+    r.set_return_type(g.type());
+
+    // Invoke the method.
+    r.invoke();
+
+    // Transfer the returned values.
+    NVList r_args = r.arguments();
+
+    try
+      {
+        // API states that the ServerRequest.arguments must be called only
+        // once. Hence we assume we can just modify the previously returned
+        // value <code>args</code>, and the ServerRequest will preserve the 
+        // reference.
+        for (i = 0; i < args.count(); i++)
+          {
+            v = args.item(i);
+
+            if (v.flags() == ARG_OUT.value || v.flags() == ARG_INOUT.value)
+              {
+                OutputStream out = r_args.item(i).value().create_output_stream();
+                r_args.item(i).value().write_value(out);
+                v.value().read_value(out.create_input_stream(),
+                  v.value().type());
+              }
+          }
+      }
+    catch (Bounds b)
+      {
+        throw new Unexpected(args.count() + "[" + i + "]", b);
+      }
+
+    // Set the returned result (if any).
+    NamedValue returns = r.result();
+    if (returns != null)
+      request.set_result(returns.value());
+  }
+
+  /**
+   * Returns the array of the repository ids, supported by this object.
+   * In this implementation, the method must be overrridden to return
+   * a sendible object-specific information. The default method returns
+   * an empty array.
+   *
+   * @deprecated since 1.4.
+   *
+   * @return the empty array, always.
+   */
+  public String[] _ids()
+  {
+    return new String[ 0 ];
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Environment.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,70 @@
+/* Environment.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * A container for an exception, that has been thrown by the method
+ * of the CORBA object.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class Environment
+{
+  /**
+   * Removes the exception object from this container.
+   */
+  public abstract void clear();
+
+  /**
+   * Returns an exception, enclosed in this container.
+   *
+   * @return the enclosed exception or null if no any
+   * exception has been thrown or {@link #clear()}
+   * has been previously called.
+   */
+  public abstract Exception exception();
+
+  /**
+   * Inserts the given exception into this container.
+   *
+   * @param except the exception to insert.
+   */
+  public abstract void exception(Exception except);
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ExceptionList.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,73 @@
+/* ExceptionList.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * Stores exceptions that can be thrown when invoking a method of an
+ * CORBA {@link org.omg.CORBA.Object}.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org).
+ */
+public abstract class ExceptionList
+{
+  /**
+   * Add the typecode of the given exception to the list.
+   */
+  public abstract void add(TypeCode an_exception);
+
+  /**
+   * Get the number of the stored exceptions.
+   */
+  public abstract int count();
+
+  /**
+   * Get the item at the given position.
+   * @param at the index
+   * @throws Bounds if the index is out of range.
+   */
+  public abstract TypeCode item(int at)
+                         throws Bounds;
+
+  /**
+   * Remove the item at the given position.
+   * @param at the index
+   * @throws Bounds if the index is out of range.
+   */
+  public abstract void remove(int at)
+                       throws Bounds;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FREE_MEM.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* FREE_MEM.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means errors, related to freeing the allocated memory.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FREE_MEM
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -1333559476995791982L;
+
+  /**
+   * Creates a FREE_MEM with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public FREE_MEM(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates FREE_MEM with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public FREE_MEM()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a FREE_MEM exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public FREE_MEM(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created FREE_MEM exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public FREE_MEM(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FieldNameHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* FieldNameHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA FieldName that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class FieldNameHelper
+{
+  /**
+   * Insert the FieldName into Any (uses {@link Any.insert_string}).
+   *
+   * @param a the Any to insert into.
+   * @param that the string to insert.
+   */
+  public static void insert(Any a, String that)
+  {
+    a.insert_string(that);
+  }
+
+  /**
+   * Extract the FieldName from Any ((uses {@link Any.extract_string}).
+   *
+   * @param a the Any to extract from.
+   */
+  public static String extract(Any a)
+  {
+    return a.extract_string();
+  }
+
+  /**
+   * Return an string alias typecode, named "FieldName".
+   */
+  public static TypeCode type()
+  {
+    ORB orb = OrbRestricted.Singleton;
+    return orb.create_alias_tc(id(), "FieldName", orb.create_string_tc(0));
+  }
+
+  /**
+   * Return the FieldName repository id.
+   * @return "IDL:omg.org/CORBA/FieldName:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/FieldName:1.0";
+  }
+
+  /**
+   * Calls {@link InputStream#read_string()}.
+   *
+   * @param istream the stream to read from.
+   */
+  public static String read(InputStream istream)
+  {
+    return istream.read_string();
+  }
+
+  /**
+   * Calls {@link OutputStream#write_string()}.
+   *
+   * @param ostream the stream to write into.
+   * @param value the string (FieldName) value to write.
+   */
+  public static void write(OutputStream ostream, String value)
+  {
+    ostream.write_string(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FixedHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* FixedHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.FixedTypeCode;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import java.math.BigDecimal;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>fixed</code> that is mapped into
+ * java <code>BigDecimal</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FixedHolder
+  implements Streamable
+{
+  /**
+   * The <code>BigDecimal</code> (CORBA <code>fixed</code>) value,
+   * held by this FixedHolder.
+   */
+  public BigDecimal value;
+
+  /**
+   * Constructs an instance of FixedHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public FixedHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of FixedHolder,
+   * initializing {@link #value} to the given <code>BigDecimal</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public FixedHolder(BigDecimal initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>fixed</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_fixed}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_fixed();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder. The scale and digits are set corresponding
+   * the scale and used digits of the value that is currently stored
+   * or left with default value 0 if the value is not set.
+   */
+  public TypeCode _type()
+  {
+    return new FixedTypeCode(value);
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>fixed</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_fixed(BigDecimal) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_fixed(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* FloatHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>float</code> that is mapped into
+ * java <code>float</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FloatHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_float =
+    new PrimitiveTypeCode(TCKind.tk_float);
+
+  /**
+   * The <code>float</code> (CORBA <code>float</code>) value,
+   * held by this FloatHolder.
+   */
+  public float value;
+
+  /**
+   * Constructs an instance of FloatHolder,
+   * initializing {@link #value} to <code>0.0</code>.
+   */
+  public FloatHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of FloatHolder,
+   * initializing {@link #value} to the given <code>float</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public FloatHolder(float initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>float</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_float}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_float();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_float;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>float</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_float(float) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_float(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* FloatSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>float</code>
+ * (<code>FloatSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class FloatSeqHelper
+{
+  /**
+   * Extract the <code>float[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link FloatSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link FloatSeqHolder}.
+   */
+  public static float[] extract(Any a)
+  {
+    FloatSeqHolder h = (FloatSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>float[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link FloatSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, float[] that)
+  {
+    FloatSeqHolder holder = new FloatSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>float[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static float[] read(InputStream input)
+  {
+    float[] value = new float[ input.read_long() ];
+    input.read_float_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>FloatSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_float);
+  }
+
+  /**
+   * Writes the <code>float[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, float[] value)
+  {
+    output.write_long(value.length);
+    output.write_float_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/FloatSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* FloatSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>FloatSeq</code> that is mapped into
+ * java <code>float[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class FloatSeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>float[]</code> (CORBA <code>FloatSeq</code>) value,
+   * held by this FloatSeqHolder.
+   */
+  public float[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_float);
+
+  /**
+   * Constructs an instance of FloatSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public FloatSeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of FloatSeqHolder,
+   * initializing {@link #value} to the given <code>float[]</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public FloatSeqHolder(float[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#read_float_array }.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new float[ input.read_long() ];
+    input.read_float_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#write_float_array }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_float_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLType.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* IDLType.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * An abstract interface
+ * that represent OMG IDL types.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface IDLType
+  extends IDLTypeOperations, IRObject, IDLEntity, org.omg.CORBA.Object,
+          Serializable
+{
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* IDLTypeHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the IDL type.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class IDLTypeHelper
+{
+  /**
+   * Insert the IDL type into the given Any.
+   */
+  public static void insert(Any a, IDLType that)
+  {
+    OutputStream out = a.create_output_stream();
+    a.type(type());
+    write(out, that);
+    a.read_value(out.create_input_stream(), type());
+  }
+
+  /**
+   * Extract the IDL type from the given Any.
+   */
+  public static IDLType extract(Any a)
+  {
+    return read(a.create_input_stream());
+  }
+
+  /**
+   * Get the typecode of the IDL type (the interface typecode, name "IDLType").
+   */
+  public static TypeCode type()
+  {
+    return OrbRestricted.Singleton.create_interface_tc(IDLTypeHelper.id(),
+                                                       "IDLType");
+  }
+
+  /**
+   * Return the IDLType repository id.
+   *
+   * @return "IDL:omg.org/CORBA/IDLType:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/IDLType:1.0";
+  }
+
+  /**
+   * Read the IDL type from the given input stream.
+   * The method reads an object and narrows into IDL type using this
+   * helper.
+   */
+  public static IDLType read(InputStream istream)
+  {
+    return narrow(istream.read_Object());
+  }
+
+  /**
+   * Write the IDL type to the output stream (as CORBA object).
+   */
+  public static void write(OutputStream ostream, IDLType value)
+  {
+    ostream.write_Object((org.omg.CORBA.Object) value);
+  }
+
+  /**
+   * Narrows the CORBA object into the IDL type.
+   */
+  public static IDLType narrow(org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof IDLType)
+      return (IDLType) obj;
+    else if (!obj._is_a(id()))
+      throw new org.omg.CORBA.BAD_PARAM();
+    else
+      {
+        Delegate delegate = ((ObjectImpl) obj)._get_delegate();
+        return new _IDLTypeStub(delegate);
+      }
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IDLTypeOperations.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,56 @@
+/* IDLTypeOperations.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+/**
+ * Defines operations, applicable for the IDL type.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+package org.omg.CORBA;
+
+public interface IDLTypeOperations
+  extends IRObjectOperations
+{
+  /**
+   * Get the type code of the interface repository object.
+   *
+   * @return the data structure, describing the type of the object, stored in
+   * the repository.
+   */
+  TypeCode type();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IMP_LIMIT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* IMP_LIMIT.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the server has reached some implementation limit
+ * (too many clients, too many references, too long parameters and so on).
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class IMP_LIMIT
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -8086463494577448422L;
+
+  /**
+   * Creates a IMP_LIMIT with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public IMP_LIMIT(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates IMP_LIMIT with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public IMP_LIMIT()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a IMP_LIMIT exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public IMP_LIMIT(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created IMP_LIMIT exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public IMP_LIMIT(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INITIALIZE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INITIALIZE.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the server cannot be initialized because of the some reason.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INITIALIZE
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -3753094599663690309L;
+
+  /**
+   * Creates a INITIALIZE with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INITIALIZE(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INITIALIZE with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INITIALIZE()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INITIALIZE exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INITIALIZE(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INITIALIZE exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INITIALIZE(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTERNAL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INTERNAL.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means an internal failure in the ORB.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INTERNAL
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 3771336866139357605L;
+
+  /**
+   * Creates a INTERNAL with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INTERNAL(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INTERNAL with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INTERNAL()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INTERNAL exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INTERNAL(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INTERNAL exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INTERNAL(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INTF_REPOS.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INTF_REPOS.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means errors, related to the interface repository.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INTF_REPOS
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 722572694720671863L;
+
+  /**
+   * Creates a INTF_REPOS with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INTF_REPOS(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INTF_REPOS with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INTF_REPOS()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INTF_REPOS exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INTF_REPOS(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INTF_REPOS exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INTF_REPOS(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,100 @@
+/* INVALID_ACTIVITY.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Raised when the transaction or Activity is resumed in a different context
+ * than from which it was suspended. It is also raised when the invocation is
+ * not incompatible with the Activity's current state.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class INVALID_ACTIVITY
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.5) for interoperability.
+   */
+  private static final long serialVersionUID = 7907846629733712546L;
+
+  /**
+   * Creates INVALID_ACTIVITY with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INVALID_ACTIVITY(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INVALID_ACTIVITY with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INVALID_ACTIVITY()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INVALID_ACTIVITY exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INVALID_ACTIVITY(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INVALID_ACTIVITY exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INVALID_ACTIVITY(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INVALID_TRANSACTION.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that request carried an invalid transaction context.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INVALID_TRANSACTION
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -4265126403821571697L;
+
+  /**
+   * Creates a INVALID_TRANSACTION with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INVALID_TRANSACTION(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INVALID_TRANSACTION with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INVALID_TRANSACTION()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INVALID_TRANSACTION exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INVALID_TRANSACTION(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INVALID_TRANSACTION exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INVALID_TRANSACTION(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_FLAG.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INV_FLAG.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means invalid flag, passed during operation.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_FLAG
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -4863924749863817671L;
+
+  /**
+   * Creates a INV_FLAG with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INV_FLAG(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INV_FLAG with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INV_FLAG()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INV_FLAG exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INV_FLAG(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INV_FLAG exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INV_FLAG(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_IDENT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INV_IDENT.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that some IDL identifier has a wrong syntax.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_IDENT
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 4399295047946553530L;
+
+  /**
+   * Creates a INV_IDENT with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INV_IDENT(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INV_IDENT with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INV_IDENT()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INV_IDENT exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INV_IDENT(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INV_IDENT exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INV_IDENT(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_OBJREF.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* INV_OBJREF.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that some object reference is internally malformed.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_OBJREF
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -7238811948257685034L;
+
+  /**
+   * Creates a INV_OBJREF with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INV_OBJREF(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INV_OBJREF with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INV_OBJREF()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INV_OBJREF exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INV_OBJREF(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INV_OBJREF exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INV_OBJREF(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/INV_POLICY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,98 @@
+/* INV_POLICY.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * This exception is thrown when an invocation cannot be made because of 
+ * an incompatibility between Policy overrides that apply to the 
+ * particular invocation.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class INV_POLICY
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -7823113107689030975L;
+
+  /**
+   * Creates a INV_POLICY with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public INV_POLICY(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates INV_POLICY with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public INV_POLICY()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a INV_POLICY exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public INV_POLICY(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created INV_POLICY exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public INV_POLICY(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObject.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,53 @@
+/* IRObject.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Represents the interface repository object.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface IRObject
+  extends IRObjectOperations, org.omg.CORBA.Object, Serializable, IDLEntity
+{
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IRObjectOperations.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,68 @@
+/* IRObjectOperations.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+
+/**
+ * Defines the operations, applicable to the interface repository object.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public interface IRObjectOperations {
+  /**
+   * Get the definition kind of this interface repository object.
+   *
+   * @return the defintion kind (one of the DefinitionKind.dk_...
+   * constants).
+   */
+  DefinitionKind def_kind();
+
+  /**
+   * Destroy this interface repository object. If the object is a container,
+   * the method applies to all its contents. If the object is part of some
+   * other object, it is removed.
+   *
+   * @throws BAD_INV_ORDER, minor code 1, if destroying this object would
+   * leave the repository in an incoherent state.
+   *
+   * @throws BAD_INV_ORDER, minor code 2, if the method is invoked on the
+   * Repository or on the definition of the primitive type.
+   */
+  void destroy() throws BAD_INV_ORDER;
+
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IdentifierHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* IdentifierHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA Identifier that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class IdentifierHelper
+{
+  /**
+   * Insert the Identifier into Any (uses {@link Any.insert_string}).
+   *
+   * @param a the Any to insert into.
+   * @param that the string to insert.
+   */
+  public static void insert(Any a, String that)
+  {
+    a.insert_string(that);
+  }
+
+  /**
+   * Extract the Identifier from Any ((uses {@link Any.extract_string}).
+   *
+   * @param a the Any to extract from.
+   */
+  public static String extract(Any a)
+  {
+    return a.extract_string();
+  }
+
+  /**
+   * Return an string alias typecode, named "Identifier".
+   */
+  public static TypeCode type()
+  {
+    ORB orb = OrbRestricted.Singleton;
+    return orb.create_alias_tc(id(), "Identifier", orb.create_string_tc(0));
+  }
+
+  /**
+   * Return the Identifier repository id.
+   * @return "IDL:omg.org/CORBA/Identifier:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/Identifier:1.0";
+  }
+
+  /**
+   * Calls {@link InputStream#read_string()}.
+   *
+   * @param istream the stream to read from.
+   */
+  public static String read(InputStream istream)
+  {
+    return istream.read_string();
+  }
+
+  /**
+   * Calls {@link OutputStream#write_string()}.
+   *
+   * @param ostream the stream to write into.
+   * @param value the string (Identifier) value to write.
+   */
+  public static void write(OutputStream ostream, String value)
+  {
+    ostream.write_string(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/IntHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* IntHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>long</code> that is mapped into
+ * java <code>int</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class IntHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_long = new PrimitiveTypeCode(TCKind.tk_long);
+
+  /**
+   * The <code>int</code> (CORBA <code>long</code>) value,
+   * held by this IntHolder.
+   */
+  public int value;
+
+  /**
+   * Constructs an instance of IntHolder,
+   * initializing {@link #value} to <code>0</code>.
+   */
+  public IntHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of IntHolder,
+   * initializing {@link #value} to the given <code>int</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public IntHolder(int initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>long</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_long}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_long();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_long;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>long</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_long(int) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LocalObject.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,363 @@
+/* LocalObject.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.BAD_PARAM;
+import org.omg.CORBA.Context;
+import org.omg.CORBA.ContextList;
+import org.omg.CORBA.DomainManager;
+import org.omg.CORBA.ExceptionList;
+import org.omg.CORBA.NO_IMPLEMENT;
+import org.omg.CORBA.NVList;
+import org.omg.CORBA.NamedValue;
+import org.omg.CORBA.Policy;
+import org.omg.CORBA.Request;
+import org.omg.CORBA.SetOverrideType;
+import org.omg.CORBA.portable.ApplicationException;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.RemarshalException;
+import org.omg.CORBA.portable.ServantObject;
+
+import javax.rmi.CORBA.Util;
+
+/**
+ * An object, formally implementing the CORBA {@link Object}, but actually
+ * handling all invocations locally.
+ * Various calls to the remote object specific methods throw the
+ * {@link NO_IMPLEMENT}. The explaining message for this exception is
+ * specified in java API as <code>"This is a locally constrained object."</code>.
+ * It is not possible to get a stringified reference of the local object, or
+ * invoke a method using DII (by name via {@link Request} class).
+ *
+ * However narrowing and widening methods will work with local objects.
+ *
+ * @since 1.4
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class LocalObject
+  implements org.omg.CORBA.Object
+{
+  /**
+   * The explaining message for the exception, thrown in response to call
+   * the method, not appropriate for the local object.
+   */
+  private static final String INAPPROPRIATE =
+    "This is a locally constrained object.";
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public Request _create_request(Context context, String operation,
+                                 NVList parameters, NamedValue returns
+                                )
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public Request _create_request(Context context, String operation,
+                                 NVList parameters, NamedValue returns,
+                                 ExceptionList exceptions, ContextList ctx_list
+                                )
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public org.omg.CORBA.Object _duplicate()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DomainManager[] _get_domain_managers()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public org.omg.CORBA.Object _get_interface_def()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public org.omg.CORBA.Object _get_interface()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public Policy _get_policy(int a_policy_type)
+                     throws BAD_PARAM
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * {@inheritDoc}
+   */
+  public int _hash(int maximum)
+  {
+    return Math.abs(hashCode()) % maximum;
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public boolean _is_a(String repositoryIdentifer)
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * Determines if the object is equal to another object, so far as it is
+   * possible to determine easily.
+   *
+   * @param other the other object.
+   *
+   * @return true if the pased object is not null and
+   * java.lang.Object.equals(other) returns true. False otherwise.
+   */
+  public boolean _is_equivalent(org.omg.CORBA.Object other)
+  {
+    if (other != null)
+      if (other.equals(this))
+        return true;
+
+    return false;
+  }
+
+  /**
+   * Always returs false.
+   *
+   * @return false, always.
+   */
+  public boolean _non_existent()
+  {
+    return false;
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void _release()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @specnote it is possible to implement a local handling of the _request(),
+   * but the API clearly states that NO_IMPLEMENT
+   * must be thrown instead.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public Request _request(String operation)
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public org.omg.CORBA.Object _set_policy_override(Policy[] policies,
+                                                   SetOverrideType how
+                                                  )
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+  
+  /**
+   * This method is called from <code>rmic</code> generated stubs if the
+   * {@link Util#isLocal()}, called passing <code>this</code> as parameter,
+   * returns true. If the method returns null, the requested method is then
+   * invoked on <code>this</code>. Else it is invoked on the returned object,
+   * casting it into the interface that the local object implements. In this
+   * case, the generated stub also later calls 
+   * {@link _servant_postinvoke(ServantObject)}, passing that returned target
+   * as parameter.
+   * 
+   * @param operation the name of the method being invoked.
+   * @param expectedType the interface that the returned servant 
+   * object must implement.
+   * 
+   * @throws NO_IMPLEMENT always. If used, the method must be overridden.
+   */
+  public ServantObject _servant_preinvoke(String operation, Class expectedType)
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+  
+  
+  /**
+   * This method is called from <code>rmic</code> generated stubs if the
+   * {@link Util#isLocal()}, called passing <code>this</code> as parameter,
+   * returns true, and the {@link #_servant_preinvoke} return non-null object.
+   * The stub then invokes the requrested method on that returned object and
+   * later calls _servant_postinvoke, passing that returned target as parameter.
+   * 
+   * @param servant the object that has served as the invocation target for the
+   * current operation.
+   */
+  public void _servant_postinvoke(ServantObject servant)
+  {
+  }
+  
+  /**
+   * Invokes the operation. This method takes the OutputStream that was previously 
+   * returned by a {@link _request()} and returns an InputStream which 
+   * contains the reply. Up till jdk 1.5 inclusive this method is marked as
+   * unimplemented.
+   * 
+   * @throws NO_IMPLEMENT always.
+   */
+  public InputStream _invoke(OutputStream output)
+    throws ApplicationException, RemarshalException
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+  
+  /**
+   * While it may look that this should return true, the jdk 1.5 API states
+   * that it must throw NO_IMPLEMENT instead. The rmi stubs do not call this
+   * method to check if the object is local; they call {@link Util#isLocal()}
+   * instead (passing <code>this</code> as parameter).  
+   * 
+   * @return never.
+   * 
+   * @throws NO_IMPLEMENT always.
+   */
+  public boolean _is_local()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+  
+  
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public ORB _orb()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);    
+  }
+  
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void _releaseReply(InputStream input) 
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);    
+  }
+  
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public OutputStream _request(String operation, boolean responseExpected) 
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);    
+  }
+  
+  /**
+   * This method is not appropriate for the local objects and just
+   * throws an exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public boolean validate_connection()
+  {
+    throw new NO_IMPLEMENT(INAPPROPRIATE);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,127 @@
+/* LongHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>long long</code> that is mapped into
+ * java <code>long</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class LongHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_longlong =
+    new PrimitiveTypeCode(TCKind.tk_longlong);
+
+  /**
+   * The <code>long</code> (CORBA <code>long long</code>) value,
+   * held by this LongHolder.
+   */
+  public long value;
+
+  /**
+   * Constructs an instance of LongHolder,
+   * initializing {@link #value} to <code>0 </code>.
+   */
+  public LongHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of LongHolder,
+   * initializing {@link #value} to the given <code>long</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public LongHolder(long initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>long long</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_longlong}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_longlong();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_longlong;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>long long</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_longlong(long) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_longlong(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* LongLongSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>long</code>
+ * (<code>LongLongSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class LongLongSeqHelper
+{
+  /**
+   * Extract the <code>long[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link LongLongSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link LongLongSeqHolder}.
+   */
+  public static long[] extract(Any a)
+  {
+    LongLongSeqHolder h = (LongLongSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>long[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link LongLongSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, long[] that)
+  {
+    LongLongSeqHolder holder = new LongLongSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>long long[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static long[] read(InputStream input)
+  {
+    long[] value = new long[ input.read_long() ];
+    input.read_longlong_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>LongLongSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_long);
+  }
+
+  /**
+   * Writes the <code>long[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, long[] value)
+  {
+    output.write_long(value.length);
+    output.write_longlong_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* LongLongSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>LongLongSeq</code> that is mapped into
+ * java <code>long[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class LongLongSeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>long[]</code> (CORBA <code>LongLongSeq</code>) value,
+   * held by this LongLongSeqHolder.
+   */
+  public long[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_longlong);
+
+  /**
+   * Constructs an instance of LongLongSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public LongLongSeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of LongLongSeqHolder,
+   * initializing {@link #value} to the given <code>long[]</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public LongLongSeqHolder(long[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#read_longlong_array }.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new long[ input.read_long() ];
+    input.read_longlong_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#write_longlong_array }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_longlong_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* LongSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>int</code>
+ * (<code>LongSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class LongSeqHelper
+{
+  /**
+   * Extract the <code>int[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link LongSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link LongSeqHolder}.
+   */
+  public static int[] extract(Any a)
+  {
+    LongSeqHolder h = (LongSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>int[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link LongSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, int[] that)
+  {
+    LongSeqHolder holder = new LongSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>int[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static int[] read(InputStream input)
+  {
+    int[] value = new int[ input.read_long() ];
+    input.read_long_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>LongSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_long);
+  }
+
+  /**
+   * Writes the <code>int[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, int[] value)
+  {
+    output.write_long(value.length);
+    output.write_long_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/LongSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,128 @@
+/* LongSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>LongSeq</code> that is mapped into
+ * java <code>int[]</code>. 
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class LongSeqHolder
+  implements Streamable
+{
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode = 
+    new ArrayTypeCode(TCKind.tk_long);
+  
+  /**
+   * The <code>int[]</code> (CORBA <code>LongSeq</code>) value,
+   * held by this LongSeqHolder.
+   */
+  public int[] value;
+  
+  /**
+   * Constructs an instance of LongSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public LongSeqHolder()
+  {
+  }  
+  
+  /**
+   * Constructs an instance of LongSeqHolder,
+   * initializing {@link #value} to the given <code>int</code>.
+   * 
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public LongSeqHolder(int[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+  
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#input.read_long_array }.
+   * 
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new int[ input.read_long() ];
+    input.read_long_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }  
+  
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#input.write_long_array }.    
+   * 
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_long_array(value, 0, value.length);
+  }  
+  
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }  
+  
+  
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/MARSHAL.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,323 @@
+/* MARSHAL.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that some request or reply from the network has a wrong size or is
+ * structurally invalid. In GNU Classpath, this exception may have the following
+ * minor codes (the high 20 bits being Classpath VMCID):
+ * 
+ * <table border="1">
+ * <tr>
+ * <th>Hex</th>
+ * <th>Dec</th>
+ * <th>Minor</th>
+ * <th>Name</th>
+ * <th>Case</th>
+ * </tr>
+ * <tr>
+ * <td>47430001</td>
+ * <td>1195573249</td>
+ * <td>1</td>
+ * <td>Giop</td>
+ * <td>The message being received is not a GIOP message. It does not start from
+ * the expected magic sequence byte[] { 'G', 'I', 'O', 'P' }.</td>
+ * </tr>
+ * <tr>
+ * <td>47430002</td>
+ * <td>1195573250</td>
+ * <td>2</td>
+ * <td>Header</td>
+ * <td>The unexpected IOException while reading or writing the GIOP message
+ * header or the subsequent request or response header</td>
+ * </tr>
+ * <tr>
+ * <td>47430003</td>
+ * <td>1195573251</td>
+ * <td>3</td>
+ * <td>EOF</td>
+ * <td>The data stream ended before reading all expected values from it. This
+ * usually means that the CORBA message is corrupted, but may also indicate that
+ * the server expects the remote method being invoked to have more or different
+ * parameters</td>
+ * </tr>
+ * <tr>
+ * <td>47430005</td>
+ * <td>1195573253</td>
+ * <td>5</td>
+ * <td>CDR</td>
+ * <td>The unexpected IOException while reading or writing the data via Commond
+ * Data Representation stream</td>
+ * </tr>
+ * <tr>
+ * <td>47430006</td>
+ * <td>1195573254 </td>
+ * <td>6</td>
+ * <td>Value</td>
+ * <td>The unexpected IOException while reading or writing the Value type.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>47430007 </td>
+ * <td>1195573255</td>
+ * <td>7</td>
+ * <td>Forwarding</td>
+ * <td>The unexpected IOException while handling request forwarding.</td>
+ * </tr>
+ * <tr>
+ * <td>47430008</td>
+ * <td>1195573256</td>
+ * <td>8</td>
+ * <td>Encapsulation </td>
+ * <td>The unexpected IOException while handling data encapsulation, tagged
+ * components, tagged profiles, etc.</td>
+ * </tr>
+ * <tr>
+ * <td>47430009</td>
+ * <td>1195573257</td>
+ * <td>9 </td>
+ * <td>Any</td>
+ * <td>The unexpected IOException while inserting or extracting data to/from
+ * the Any.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000a</td>
+ * <td>1195573258 </td>
+ * <td>10</td>
+ * <td>UserException</td>
+ * <td>The unexpected UserException in the context where it cannot be handled
+ * as such and must be converted to the SystemException. </td>
+ * </tr>
+ * <tr>
+ * <td>4743000b</td>
+ * <td>1195573259</td>
+ * <td>11</td>
+ * <td>Inappropriate</td>
+ * <td>While the operation could formally be applied to the target, the OMG
+ * standard states that it is actually not applicable. For example, some CORBA
+ * objects like POA are always local and should not be passed to or returned
+ * from the remote side.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000c</td>
+ * <td>1195573260</td>
+ * <td>12</td>
+ * <td>Negative</td>
+ * <td>When reading data, it was discovered that size of the data structure
+ * like string, sequence or character is written as the negative number.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000e</td>
+ * <td>1195573262 </td>
+ * <td>14</td>
+ * <td>Graph</td>
+ * <td>Reference to non-existing node in the data grapth while reading the
+ * value types.</td>
+ * </tr>
+ * <tr>
+ * <td>4743000f</td>
+ * <td>1195573263</td>
+ * <td>15</td>
+ * <td>Boxed</td>
+ * <td>Unexpected exception was thrown from the IDL type helper while handling
+ * the object of this type as a boxed value.</td>
+ * </tr>
+ * <tr>
+ * <td>47430010</td>
+ * <td>1195573264</td>
+ * <td>16</td>
+ * <td>Instantiation</td>
+ * <td>Unable to instantiate an value type object while reading it from the
+ * stream.</td>
+ * </tr>
+ * <tr>
+ * <td>47430011</td>
+ * <td>1195573265</td>
+ * <td>17</td>
+ * <td>ValueHeaderTag</td>
+ * <td>The header tag of the value type being read from the CDR stream contains
+ * an unexpected value outside 0x7fffff00 .. 0x7fffffff and also not null and
+ * not an indirection.</td>
+ * </tr>
+ * <tr>
+ * <td>47430012</td>
+ * <td>1195573266</td>
+ * <td>18</td>
+ * <td>ValueHeaderFlags</td>
+ * <td>The header tag flags of the value type being read from the CDR stream
+ * make the invalid combination (for instance, 0x7fffff04).</td>
+ * </tr>
+ * <tr>
+ * <td>47430013</td>
+ * <td>1195573267</td>
+ * <td>19</td>
+ * <td>ClassCast</td>
+ * <td>The value type class, written on the wire, is not compatible with the
+ * expected class, passed as a parameter to the InputStream.read_value.</td>
+ * </tr>
+ * <tr>
+ * <td>47430014</td>
+ * <td>1195573268</td>
+ * <td>20</td>
+ * <td>Offset</td>
+ * <td>Positive or otherwise invalid indirection offset when reading the data
+ * graph of the value type.</td>
+ * </tr>
+ * <tr>
+ * <td>47430015</td>
+ * <td>1195573269</td>
+ * <td>21</td>
+ * <td>Chunks</td>
+ * <td>Errors while reading the chunked value type.</td>
+ * </tr>
+ * <tr>
+ * <td>47430016</td>
+ * <td>1195573270</td>
+ * <td>22</td>
+ * <td>UnsupportedValue</td>
+ * <td>No means are provided to read or write this value type (not Streamable,
+ * not CustomMarshal, not Serializable, no factory, no helper.</td>
+ * </tr>
+ * <tr> 
+ * <td>47430017</td>
+ * <td>1195573271</td>
+ * <td>23</td>
+ * <td>Factory</td>
+ * <td>The value factory, required for the operation being invoked, is not
+ * registered with this ORB.</td>
+ * </tr>
+ * <tr>
+ * <td>47430018</td>
+ * <td>1195573272</td>
+ * <td>24</td>
+ * 
+ * <td>UnsupportedAddressing</td>
+ * <td>Unsupported object addressing method in GIOP request header.</td>
+ * </tr>
+ * <tr>
+ * <td>47430019</td>
+ * <td>1195573273</td>
+ * <td>25</td>
+ * <td>IOR</td>
+ * <td>Invalid object reference (IOR).</td>
+ * </tr>
+ * <tr>
+ * <td>4743001a</td>
+ * <td>1195573274</td>
+ * <td>26</td>
+ * <td>TargetConversion</td>
+ * <td>Problems with converting between stubs, ties, interfaces and
+ * implementations.</td>
+ * 
+ * </tr>
+ * <tr>
+ * <td>4743001b</td>
+ * <td>1195573275</td>
+ * <td>27</td>
+ * <td>ValueFields</td>
+ * <td>Problems with reading or writing the fields of the value type object
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>4743001c</td>
+ * <td>1195573276</td>
+ * <td>28</td>
+ * <td>NonSerializable</td>
+ * <td>The instance of the value type, passed using RMI over IIOP, is not
+ * serializable</td>
+ * </tr>
+ * </table>
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class MARSHAL
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID for interoperability.
+   */
+  private static final long serialVersionUID = 7416408250336395546L;
+
+  /**
+   * Creates a MARSHAL with the default minor code of 0, completion state
+   * COMPLETED_NO and the given explaining message.
+   * 
+   * @param message the explaining message.
+   */
+  public MARSHAL(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates MARSHAL with the default minor code of 0 and a completion state
+   * COMPLETED_NO.
+   */
+  public MARSHAL()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates a MARSHAL exception with the specified minor code and completion
+   * status.
+   * 
+   * @param minor_code additional error code.
+   * @param is_completed the method completion status.
+   */
+  public MARSHAL(int minor_code, CompletionStatus is_completed)
+  {
+    super("", minor_code, is_completed);
+  }
+
+  /**
+   * Created MARSHAL exception, providing full information.
+   * 
+   * @param reason explaining message.
+   * @param minor_code additional error code (the "minor").
+   * @param is_completed the method completion status.
+   */
+  public MARSHAL(String reason, int minor_code, CompletionStatus is_completed)
+  {
+    super(reason, minor_code, is_completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* NO_IMPLEMENT.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that while the operation being invoked does exists, no
+ * implementation for it exists.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_IMPLEMENT
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 3519190655657192112L;
+
+  /**
+   * Creates a NO_IMPLEMENT with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public NO_IMPLEMENT(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates NO_IMPLEMENT with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public NO_IMPLEMENT()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a NO_IMPLEMENT exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public NO_IMPLEMENT(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created NO_IMPLEMENT exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public NO_IMPLEMENT(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_MEMORY.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* NO_MEMORY.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the server has runned out of memory.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_MEMORY
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -4591569617929689285L;
+
+  /**
+   * Creates a NO_MEMORY with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public NO_MEMORY(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates NO_MEMORY with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public NO_MEMORY()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a NO_MEMORY exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public NO_MEMORY(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created NO_MEMORY exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public NO_MEMORY(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_PERMISSION.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* NO_PERMISSION.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the caller has no rights to invoke the operation.
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_PERMISSION
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -1533969523582458479L;
+
+  /**
+   * Creates a NO_PERMISSION with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public NO_PERMISSION(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates NO_PERMISSION with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public NO_PERMISSION()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a NO_PERMISSION exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public NO_PERMISSION(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created NO_PERMISSION exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public NO_PERMISSION(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESOURCES.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,131 @@
+/* NO_RESOURCES.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the ORB has reached some general resource limitation like maximal
+ * number of the opened connections.
+ * 
+ * In GNU Classpath, this exception may have the following minor codes:
+ * 
+ * <table border="1">
+ * <tr>
+ * <td>Hex</td>
+ * <td>Dec</td>
+ * <td>Minor</td>
+ * <td>Name</td>
+ * <td>Case</td>
+ * </tr>
+ * <tr>
+ * <td>47430014</td>
+ * <td>1195573268</td>
+ * <td>20</td>
+ * <td>Ports</td>
+ * <td>No more free ports available for the new objects. The port control, if
+ * turned on, prevents malicios client from knocking the server out by suddenly
+ * requiring to allocate a very large number of objects.</td>
+ * </tr>
+ * <tr>
+ * <td>47430015</td>
+ * <td>1195573269</td>
+ * <td>21</td>
+ * <td>Threads</td>
+ * <td> Too many parallel calls (too many parallel threads). The thread control,
+ * if turned on, prevents malicios client from knocking the server out by
+ * suddenly submitting a very large number of requests. </td>
+ * </tr>
+ * </table> 
+ * 
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class NO_RESOURCES
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.4) for interoperability.
+   */
+  private static final long serialVersionUID = 8129246118235803597L;
+
+  /**
+   * Creates a NO_RESOURCES with the default minor code of 0, completion state
+   * COMPLETED_NO and the given explaining message.
+   * 
+   * @param message the explaining message.
+   */
+  public NO_RESOURCES(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates NO_RESOURCES with the default minor code of 0 and a completion
+   * state COMPLETED_NO.
+   */
+  public NO_RESOURCES()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates a NO_RESOURCES exception with the specified minor code and
+   * completion status.
+   * 
+   * @param a_minor additional error code.
+   * @param a_completed the method completion status.
+   */
+  public NO_RESOURCES(int a_minor, CompletionStatus a_completed)
+  {
+    super("", a_minor, a_completed);
+  }
+
+  /**
+   * Created NO_RESOURCES exception, providing full information.
+   * 
+   * @param a_reason explaining message.
+   * @param a_minor additional error code (the "minor").
+   * @param a_completed the method completion status.
+   */
+  public NO_RESOURCES(String a_reason, int a_minor, CompletionStatus a_completed)
+  {
+    super(a_reason, a_minor, a_completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NO_RESPONSE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,97 @@
+/* NO_RESPONSE.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means that the client attempts to retrieve the result that is not
+ * yet available.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class NO_RESPONSE
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 1971973765161647047L;
+
+  /**
+   * Creates a NO_RESPONSE with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public NO_RESPONSE(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates NO_RESPONSE with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public NO_RESPONSE()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a NO_RESPONSE exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public NO_RESPONSE(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created NO_RESPONSE exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public NO_RESPONSE(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NVList.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,117 @@
+/* NVList.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.Bounds;
+import org.omg.CORBA.NamedValue;
+
+/**
+ * The named value list, used to define the parameters in the
+ * {@link org.omg.CORBA.Request}. This class is also
+ * used to hold the values of {@link Context}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class NVList
+{
+  /**
+   * Create and add a new named value object with null name,
+   * null value and having given flags.
+   * @param a_flags the flags, the normally expected values are
+   * {@link org.omg.CORBA.ARG_IN#value}, 
+   * {@link org.omg.CORBA.ARG_OUT#value} and 
+   * {@link org.omg.CORBA.ARG_INOUT#value} or 0.
+   * 
+   * @return the created and added value.
+   */
+  public abstract NamedValue add(int a_flags);
+
+  /**
+   * Create and add the new named value object with the given
+   * names, given flags and the null value.
+   * @param a_name the name
+   * @param a_flags the flags, the normally expected values are
+   * {@link org.omg.CORBA.ARG_IN#value},
+   * {@link org.omg.CORBA.ARG_OUT#value} and
+   * {@link org.omg.CORBA.ARG_INOUT#value} or 0.
+   * 
+   * @return the created and added value.
+   */
+  public abstract NamedValue add_item(String a_name, int a_flags);
+
+  /**
+   * Create and add the named value object with the given name,
+   * value and flags.
+   * @param a_name the name
+   * @param a_value the value
+   * @param a_flags the flags, the normally expected values are
+   * {@link org.omg.CORBA.ARG_IN#value},
+   * {@link org.omg.CORBA.ARG_OUT#value} and
+   * {@link org.omg.CORBA.ARG_INOUT#value} or 0.
+   * 
+   * @return the created object.
+   */
+  public abstract NamedValue add_value(String a_name, Any a_value, int a_flags);
+
+  /**
+   * Get the number of the present named value pairs.
+   * 
+   * @return the number of objects in the list.
+   */
+  public abstract int count();
+
+  /**
+   * Get the item at the given index
+   * @param at the index.
+   * 
+   * @return the item at the index
+   * @throws Bounds if the index is out of bounds.
+   */
+  public abstract NamedValue item(int at)
+                           throws Bounds;
+
+  /**
+   * Remove the item at the given index
+   * @param at the index
+   * @throws Bounds if the index is out of bounds.
+   */
+  public abstract void remove(int at)
+                       throws Bounds;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePair.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,90 @@
+/* NameValuePair.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Holds the value, having the given name(id). This class is used by
+ * with {@link DynStruct} to name the fields of the record (structure).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class NameValuePair
+  implements Serializable, IDLEntity
+{
+  /**
+   * The value of the structure record.
+   */
+  public Any value;
+
+  /**
+   * Use serialVersionUID (v1.4) for interoperability.
+   */
+  private static final long serialVersionUID = 7000741877654946223L;
+
+  /**
+   * The name of the structure record.
+   */
+  public String id;
+
+  /**
+   * Cretes an unitialised instance of the name-value pair.
+   */
+  public NameValuePair()
+  {
+  }
+
+  /**
+   * Creates the name-value pair, initialising the fields to the passed
+   * values.
+   *
+   * @param an_id the name (also called id) of the name-value pair, normally
+   * the name of the structure field.
+   *
+   * @param a_value the value of the name-value pair.
+   */
+  public NameValuePair(String an_id, Any a_value)
+  {
+    id = an_id;
+    value = a_value;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NameValuePairHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,137 @@
+/* NameValuePairHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.DynAn.NameValuePairHolder;
+import gnu.CORBA.typecodes.AliasTypeCode;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.StringTypeCode;
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * The helper operations for {@link NameValuePair}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class NameValuePairHelper
+{
+  /**
+   * The {@link NameValuePair} repository id,
+   * 'IDL:omg.org/CORBA/NameValuePair:1.0'.
+   */
+  private static String _id = "IDL:omg.org/CORBA/NameValuePair:1.0";
+
+  /**
+   * Extract the NameValuePair from the given {@link Any}.
+   */
+  public static NameValuePair extract(Any a)
+  {
+    try
+      {
+        return ((NameValuePairHolder) a.extract_Streamable()).value;
+      }
+    catch (ClassCastException ex)
+      {
+        BAD_OPERATION bad = new BAD_OPERATION("NameValuePair expected");
+        bad.minor = Minor.Any;
+        throw bad;
+      }
+  }
+
+  /**
+   * Return the NameValuePair repository id.
+   */
+  public static String id()
+  {
+    return _id;
+  }
+
+  /**
+   * Insert the NameValuePair into the given {@link Any}.
+   */
+  public static void insert(Any a, NameValuePair that)
+  {
+    a.insert_Streamable(new NameValuePairHolder(that));
+  }
+
+  /**
+   * Read the NameValuePair from the given CDR stream. First reads the
+   * name (id) as string, then the value as {@link Any}.
+   */
+  public static NameValuePair read(InputStream istream)
+  {
+    NameValuePair p = new NameValuePair();
+    p.id = istream.read_string();
+    p.value = istream.read_any();
+    return p;
+  }
+
+  /**
+   * Create the type code for the name value pair.
+   */
+  public static TypeCode type()
+  {
+    StructMember[] members = new StructMember[2];
+
+    TypeCode t_id = new AliasTypeCode(new StringTypeCode(TCKind.tk_string), "",
+                                      "id");
+
+    members[0] = new StructMember("id", t_id, null);
+
+    members[1] = new StructMember("value",
+                                  new PrimitiveTypeCode(TCKind.tk_any), null);
+
+    return OrbRestricted.Singleton.create_struct_tc(id(), "NameValuePair",
+                                                    members);
+  }
+
+  /**
+   * Write the exception to the CDR output stream. First writes the
+   * name (id), then the value as {@link Any}.
+   */
+  public static void write(OutputStream ostream, NameValuePair value)
+  {
+    ostream.write_string(value.id);
+    ostream.write_any(value.value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/NamedValue.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,71 @@
+/* NamedValue.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * The class is used to describe a call parameter, having name,
+ * value and the passing mode flags ({@link  ARG_IN}, {@link ARG_OUT} or
+ * {@link ARG_INOUT}. The same class is also used in {@link Context} to
+ * pass the property names and values. This class is normally created by
+ * {@link ORB#create_named_value(String, Any, int)}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class NamedValue
+{
+  /**
+   * Get the parameter flags.
+   * @return normally one of ({@link  ARG_IN}, {@link ARG_OUT} or
+   * {@link ARG_INOUT}).
+   */
+  public abstract int flags();
+
+  /**
+   * Get the name of this parameter.
+   * @return the name of this instance.
+   */
+  public abstract String name();
+
+  /**
+   * Get the value of this parameter. The parameter value is wrapped into
+   * the instance of {@link Any}.
+   *
+   * @return the value of this parameter.
+   */
+  public abstract Any value();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,95 @@
+/* OBJECT_NOT_EXIST.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Means an attempt to perform some operation on a deleted object.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class OBJECT_NOT_EXIST
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = 7226958015420512389L;
+
+  /**
+   * Creates a OBJECT_NOT_EXIST with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public OBJECT_NOT_EXIST(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates OBJECT_NOT_EXIST with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public OBJECT_NOT_EXIST()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a OBJECT_NOT_EXIST exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public OBJECT_NOT_EXIST(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created OBJECT_NOT_EXIST exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public OBJECT_NOT_EXIST(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* OBJ_ADAPTER.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * This exception typically indicates an administrative mismatch.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class OBJ_ADAPTER
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -1516541344234786928L;
+
+  /**
+   * Creates a OBJ_ADAPTER with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public OBJ_ADAPTER(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates OBJ_ADAPTER with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public OBJ_ADAPTER()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a OBJ_ADAPTER exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public OBJ_ADAPTER(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created OBJ_ADAPTER exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public OBJ_ADAPTER(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OMGVMCID.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,72 @@
+/* OMGVMCID.java -- 
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+ This file is part of GNU Classpath.
+
+ GNU Classpath is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ GNU Classpath is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Classpath; see the file COPYING.  If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301 USA.
+ Linking this library statically or dynamically with other modules is
+ making a combined work based on this library.  Thus, the terms and
+ conditions of the GNU General Public License cover the whole
+ combination.
+
+ As a special exception, the copyright holders of this library give you
+ permission to link this library with independent modules to produce an
+ executable, regardless of the license terms of these independent
+ modules, and to copy and distribute the resulting executable under
+ terms of your choice, provided that you also meet, for each linked
+ independent module, the terms and conditions of the license of that
+ module.  An independent module is a module which is not derived from
+ or based on this library.  If you modify this library, you may extend
+ this exception to your version of the library, but you are not
+ obligated to do so.  If you do not wish to do so, delete this
+ exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * </p>
+ * The higher 20 bits of any CORBA exception hold "Vendor Minor Codeset ID"
+ * (VMCID), for instance 0x4F4D0000 (OMG standard), 0x54410000 (TAO), 0x4A430000
+ * (JacORB), 0x49540000 (IONA), 0x53550000 (Sun).
+ * </p>
+ * <p>
+ * GNU Classpath official vendor minor code set id is 0x47430000 ("GC\x00\x00"),
+ * and the reserved space spans till 0x47430FFF, allowing to use up to 4096
+ * Classpath specific exceptions. It was assigned 30/09/2005 by OMG Vice President
+ * Andrew Watson.
+ * </p>
+ * <p>
+ * The standard minor codes for the standard system exceptions are prefaced by
+ * the VMCID assigned to OMG, defined as 0x4F4D0000 (the code of the minor field
+ * for the standard exception with minor code 1 is 0x4F4D0001). Within a vendor
+ * assigned space, the assignment of values to minor codes is left to the
+ * vendor.
+ * </p>
+ * 
+ * <p>
+ * The VMCID 0 and 0xFFFFF0000 are reserved for experimental use.
+ * </p>
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface OMGVMCID
+{
+  /**
+   * The OMG vendor minor code ID.
+   */
+  int value = 0x4F4D0000;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORB.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,1241 @@
+/* ORB.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbFocused;
+import gnu.CORBA.ObjectCreator;
+import gnu.CORBA.OrbRestricted;
+import gnu.CORBA.gnuContext;
+import gnu.CORBA.typecodes.FixedTypeCode;
+import gnu.CORBA.typecodes.GeneralTypeCode;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.RecordTypeCode;
+import gnu.CORBA.typecodes.RecursiveTypeCode;
+
+import org.omg.CORBA.ORBPackage.InconsistentTypeCode;
+import org.omg.PortableInterceptor.ObjectReferenceTemplate;
+
+import java.applet.Applet;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import java.util.Properties;
+
+/**
+ * A central class in CORBA implementation, responsible for sending and handling
+ * remote invocations. ORB also works as a factory for creating instances of
+ * certain CORBA classes.
+ * 
+ * Despite the core library contains the fully working CORBA implementation, it
+ * also provides a simple way to plug-in the alternative CORBA support. This is
+ * done by replacing the ORB. The alternative ORB can be specified via
+ * properties, passed to ORB.Init(...).
+ * 
+ * When creating an ORB instance, the class name is searched in the following
+ * locations:
+ * <p>
+ * 1. Applet parameter or application string array, if any.<br>
+ * 2. The properties parameter, if any.<br>
+ * 3. The System properties.<br>
+ * 4. The orb.properties file located in the user.home directory (if any).<br>
+ * 5. The orb.properties file located in the java.home/lib directory (if any).
+ * </p>
+ * 
+ * The supported properties are: <table border="1">
+ * <tr>
+ * <td> org.omg.CORBA.ORBClass</td>
+ * <td>The class, implementing the functional ORB, returned by
+ * {@link #init(Applet, Properties)} or {@link #init(String[], Properties)}
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ORBSingletonClass</td>
+ * <td>The class, implementing the restricted ORB, returned by {@link #init()}.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ORBInitRef</td>
+ * <td>Specifies the initial reference, accessible by name with the method
+ * {@link #resolve_initial_references(String)}.</td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ORBid</td>
+ * <td>Specifies the name (ORB Id) of this ORB. The ORB Id is later accessible
+ * by {@link ObjectReferenceTemplate#orb_id}. The default value includes the
+ * hashcode of the ORB instance that is normally different for each ORB. 
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>org.omg.CORBA.ServerId</td>
+ * <td>Specifies the name (Server Id) of this server. This property assigns
+ * value to the <i>static</i> field, ensuring that all ORB's on the same jre
+ * have the same Server Id. It is normally set as the system property. The
+ * server Id is later accessible as {@link ObjectReferenceTemplate#server_id}.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>gnu.CORBA.ListenerPort</td>
+ * <td>Specifies that this ORB should serve all its objects on a single port
+ * (for example, "1234") or on a specified port range (for example,
+ * "1100-1108"). The property is used when working with firewals and serves as a
+ * replacement for the proprietary properties like com.ibm.CORBA.ListenerPort
+ * or com.sun.CORBA.POA.ORBPersistentServerPort. The specified port or range
+ * should not overlap with the values, specified for other ORB's.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td>gnu.Corba.SocketFactory</td>
+ * <td>Sets the user-defined server and client socket factory for the ORB being
+ * currently instantiated. Serves as a replacement of the proprietary
+ * property com.sun.CORBA.connection.ORBSocketFactoryClass. To have multiple
+ * types of sockets, instantiate several ORB's with this property each time
+ * set to the different value. 
+ * The factory must implement gnu.CORBA.interfaces.SocketFactory.
+ * </td>
+ * </tr>
+ * </table> 
+ * <p>The command line accepts the same properties as a keys. When
+ * specifying in the command line, the prefix org.omg.CORBA can be omitted, for
+ * instance<code> -ORBInitRef NameService=IOR:aabbccdd....</code>
+ * </p>
+ * 
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class ORB
+{
+  /**
+  * By default, {@link #init(String[], Properties)} and
+  * {@link #iinit(Applet, Properties)} return
+  * the built-in fully functional ORB is returned. If the
+  * <code>props</code> contains the property org.omg.CORBA.ORBClass,
+  * the value of this property is used as a class name to instantiate
+  * a user-defined ORB.
+  */
+  private static final String FUNCTIONAL_ORB = "org.omg.CORBA.ORBClass";
+
+  /**
+   * The name of the restricted ORB property.
+   */
+  private static final String RESTRICTED_ORB =
+    "org.omg.CORBA.ORBSingletonClass";
+  
+  private static final String LISTENER_PORT =
+    OrbFocused.LISTENER_PORT;
+  
+  /**
+   * The class, implementing the default fully functional ORB.
+   */
+  private static final String DEFAULT_FUNCTIONAL_ORB =
+    gnu.CORBA.Poa.ORB_1_4.class.getName();
+  
+  private static final String DEFAULT_FOCUSED_ORB =
+    gnu.CORBA.OrbFocused.class.getName();
+  
+  // There is no need for name of the default restricted ORB as it is 
+  // singleton and it is more effectively referred directly.
+
+  /**
+   * Connect the given CORBA object to this ORB. After the object is
+   * connected, it starts receiving remote invocations via this ORB.
+   *
+   * The OMG group recommends to use Portable Object Adapter (POA) instead
+   * of calling this method.
+   *
+   * This method is implemented in the derived Gnu Classpah classes,
+   * returned by ORB.init(..). In this abstract class, the implementation
+   * just throws {@link NO_IMPLEMENT}.
+   *
+   * @param object the org.omg.CORBA.Object to connect.
+   */
+  public void connect(org.omg.CORBA.Object object)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Disconnect the given CORBA object from this ORB. The object will be
+   * no longer receiving the remote invocations. In response to the
+   * remote invocation on this object, the ORB will send the
+   * exception {@link OBJECT_NOT_EXIST}. The object, however, is not
+   * destroyed and can receive the local invocations.
+   *
+   * This method is implemented in the derived Gnu Classpah classes,
+   * returned by ORB.init(..). In this abstract class, the implementation
+   * just throws {@link NO_IMPLEMENT}.
+   *
+   * @param object the object to disconnect.
+   */
+  public void disconnect(org.omg.CORBA.Object object)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Create alias typecode for the given typecode.
+   */
+  public abstract TypeCode create_alias_tc(String id, String name,
+                                           TypeCode typecode
+                                          );
+
+  /**
+   * Create an instance of the CORBA {@link Any} with the type, intialised
+   * to {@link TCKind#tk_null}
+   */
+  public abstract Any create_any();
+
+  /**
+   * Create a typecode, defining an array of the given elements.
+   *
+   * @param length the size of array
+   * @param element_type the array component type.
+   *
+   * @return the corresponding typecode.
+   */
+  public abstract TypeCode create_array_tc(int length, TypeCode element_type);
+
+  /**
+   * Creates an empty CORBA <code>ContextList</code>.
+   *
+   * @return the newly created context list.
+   */
+  public abstract ContextList create_context_list();
+
+  /**
+   * The support for {@link DynAny} and derived interfaces
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynAny create_basic_dyn_any(org.omg.CORBA.TypeCode t)
+                              throws InconsistentTypeCode
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * The support for {@link DynAny} and derived interfaces
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynAny create_dyn_any(org.omg.CORBA.Any a)
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * The support for {@link DynArray}
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynArray create_dyn_array(org.omg.CORBA.TypeCode t)
+                            throws InconsistentTypeCode
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * The support for {@link DynEnum}
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynEnum create_dyn_enum(org.omg.CORBA.TypeCode t)
+                          throws InconsistentTypeCode
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * The support for {@link DynSequence}
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynSequence create_dyn_sequence(org.omg.CORBA.TypeCode t)
+                                  throws InconsistentTypeCode
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * The support for {@link DynStruct} and derived interfaces
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynStruct create_dyn_struct(org.omg.CORBA.TypeCode t)
+                              throws InconsistentTypeCode
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * The support for {@link DynUnion} and derived interfaces
+   * has never been implemented in Sun's java releases,
+   * at least till v1.4 inclusive.
+   *
+   * Since v1.4 this stil missing implementation was replaced
+   * by the new DynamicAny package.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public DynUnion create_dyn_union(org.omg.CORBA.TypeCode t)
+                            throws InconsistentTypeCode
+  {
+    throw new NO_IMPLEMENT();
+  }
+  ;
+
+  /**
+   * Create a typecode, defining the given enumeration.
+   *
+   * @param id the id.
+   * @param name the name.
+   * @param members the memebers
+   * @return the created enumeration.
+   */
+  public abstract TypeCode create_enum_tc(String id, String name,
+                                          String[] members
+                                         );
+
+  /**
+   * Create an environment (container for exceptions).
+   *
+   * @return the created container.
+   */
+  public abstract Environment create_environment();
+
+  /**
+   * Creates an empty exception list.
+   *
+   * @return the newly created list.
+   */
+  public abstract ExceptionList create_exception_list();
+
+  /**
+   * Create the exception typecode.
+   *
+   * @param id the id of exception.
+   * @param name the name of exception.
+   * @param members the members of exception.
+   */
+  public abstract TypeCode create_exception_tc(String id, String name,
+                                               StructMember[] members
+                                              );
+
+  /**
+   * Creates a TypeCode object for CORBA <code>fixed</code> that is
+   * mapped to java {@link java.math.BigDecimal}.
+   *
+   * @param digits the number of digits in that <code>fixed</code>.
+   * @param scale the number of digits after the decimal point.
+   *
+   * @return the corresponding TypeCode.
+   */
+  public TypeCode create_fixed_tc(short digits, short scale)
+  {
+    FixedTypeCode r = new FixedTypeCode();
+    r.setDigits(digits);
+    r.setScale(scale);
+    return r;
+  }
+
+  /**
+   * Creates a typecode, representing the IDL interface.
+   *
+   * @param id the interface repository id.
+   * @param name the interface name.
+   *
+   * @return the created typecode.
+   */
+  public abstract TypeCode create_interface_tc(String id, String name);
+
+  /**
+   * Create an instance of a new {@link NVList}.
+   *
+   * @param count the initial size of the list. If more elements are added,
+   * the list automatically expands.
+   *
+   * @return the created list.
+   */
+  public abstract NVList create_list(int count);
+
+  /**
+   * Create a new named value.
+   *
+   * @param name the name of the named value
+   * @param any the content of the named value.
+   * @param flags the flags of the named value
+   *
+   * @return the named value.
+   */
+  public abstract NamedValue create_named_value(String name, Any any, int flags);
+
+  /**
+   * Send multiple prepared requests one way, do not caring about the answer.
+   * The messages, containing requests, will be marked, indicating that
+   * the sender is not expecting to get a reply.
+   *
+   * @param requests the prepared array of requests.
+   *
+   * @see Request#send_oneway()
+   */
+  public abstract void send_multiple_requests_oneway(Request[] requests);
+
+  /**
+   * Send multiple prepared requests expecting to get a reply. All requests
+   * are send in parallel, each in its own separate thread. When the
+   * reply arrives, it is stored in the agreed fields of the corresponing
+   * request data structure. If this method is called repeatedly,
+   * the new requests are added to the set of the currently sent requests,
+   * but the old set is not discarded.
+   *
+   * @param requests the prepared array of requests.
+   *
+   * @see #poll_next_response()
+   * @see #get_next_response()
+   * @see Request#send_deferred()
+   */
+  public abstract void send_multiple_requests_deferred(Request[] requests);
+
+  /**
+   * Find if any of the requests that have been previously sent with
+   * {@link #send_multiple_requests_deferred}, have a response yet.
+   *
+   * @return true if there is at least one response to the previously
+   * sent request, false otherwise.
+   */
+  public abstract boolean poll_next_response();
+
+  /**
+   * Get the next instance with a response being received. If all currently
+   * sent responses not yet processed, this method pauses till at least one of
+   * them is complete. If there are no requests currently sent, the method
+   * pauses till some request is submitted and the response is received.
+   * This strategy is identical to the one accepted by Suns 1.4 ORB
+   * implementation.
+   *
+   * @return the previously sent request that now contains the received
+   * response.
+   *
+   * @throws WrongTransaction If the method was called from the transaction
+   * scope different than the one, used to send the request. The exception
+   * can be raised only if the request is implicitly associated with some
+   * particular transaction.
+   */
+  public abstract Request get_next_response()
+                                     throws WrongTransaction;
+
+  /**
+   * Create a new CDR output stream, where the parameter values can be written
+   * during the method invocation.
+   *
+   * @return a stream to write values into.
+   */
+  public abstract org.omg.CORBA.portable.OutputStream create_output_stream();
+
+  /**
+   * This should create the list, initialised with the argument descriptions
+   * for the given operation definition (CORBA <code>OperationDef</code>).
+   * The information should be obtained from the interface repository.
+   * However this method is oficially documented as not implemented at least
+   * till v1.4 inclusive.
+   *
+   * @param operation_definition the operation definition, must be
+   * CORBA <code>OperationDef</code>.
+   *
+   * @return never
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public NVList create_operation_list(Object operation_definition)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * <p>Creates the new policy of the specified type, having the given value.
+   * This method looks for the policy factory that was previously registered
+   * during ORB initialization by
+   * {@link org.omg.PortableInterceptor#ORBInitialiser}.
+   *
+   * If the suitable factory is found, this factory creates the requested policy,
+   * otherwise the PolicyError is thrown.
+   * </p><p>
+   * The POA policies should be created by POA, not by this method.
+   * </p>
+   * @param type the policy type.
+   * @param value the policy value, wrapped into Any.
+   *
+   * @throws PolicyError if the ORB fails to instantiate the policy object.
+   *
+   * @throws NO_IMPLEMENT always (in this class). Overridden in derived classes
+   * returned by ORB.init(..).
+   *
+   * @see org.omg.PortableInterceptor.ORBInitInfoOperations#register_policy_factory
+   * @see org.omg.PortableInterceptor.PolicyFactoryOperations
+   */
+  public Policy create_policy(int type, Any value)
+                       throws PolicyError
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Create typecode, defining the sequence of the elements, having
+   * the given type.
+   *
+   * @param bound the maximal length of the sequence, 0 if not restricted.
+   *
+   * @param element_type the sequence element type.
+   *
+   * @return the typecode.
+   */
+  public abstract TypeCode create_sequence_tc(int bound, TypeCode element_type);
+
+  /**
+   * Create a TypeCode, representing the CORBA <code>string</code>.
+   *
+   * @param bound the maximal length of the string, 0 is unlimited.
+   *
+   * @return the corresponding string typecode.
+   */
+  public abstract TypeCode create_string_tc(int bound);
+
+  /**
+   * Create the typecode, defining the given IDL structure.
+   *
+   * The TypeCode object is initialized with the given id, name, and members.
+   * @param id the Id of this type.
+   * @param name the name of this type.
+   * @param members the member list.
+   *
+   * @return the typecode.
+   */
+  public abstract TypeCode create_struct_tc(String id, String name,
+                                            StructMember[] members
+                                           );
+
+  /**
+   * Create the typecode, defining the given IDL union.
+   *
+   * The TypeCode object is initialized with the given id, name, discriminator
+   * and members.
+   *
+   * @param id the Id of this type.
+   * @param name the name of this type.
+   * @param discriminator the union discriminator.
+   * @param members the member list.
+   *
+   * @return the typecode.
+   */
+  public abstract TypeCode create_union_tc(String id, String name,
+                                           TypeCode discriminator,
+                                           UnionMember[] members
+                                          );
+
+  /**
+   * Create a TypeCode, representing the CORBA <code>wstring</code>.
+   *
+   * @param bound the maximal length of the string, 0 is unlimited.
+   *
+   * @return the corresponding string typecode.
+   */
+  public abstract TypeCode create_wstring_tc(int bound);
+
+  /**
+   * Create a typecode for an abstract interface. The abstract interface
+   * can be either CORBA object or CORBA value type.
+   *
+   * @param id the id of the abstract interface.
+   * @param name the name of the abstract interface.
+   *
+   * @return the created typecode.
+   */
+  public TypeCode create_abstract_interface_tc(String id, String name)
+  {
+    GeneralTypeCode t = new GeneralTypeCode(TCKind.tk_abstract_interface);
+    t.setName(name);
+    t.setId(id);
+    return t;
+  }
+
+  /**
+   * Create a typecode for a native interface.
+   *
+   * @param id the id of the native interface.
+   * @param name the name of the native interface.
+   *
+   * @return the created typecode.
+   */
+  public TypeCode create_native_tc(String id, String name)
+  {
+    GeneralTypeCode t = new GeneralTypeCode(TCKind.tk_native);
+    t.setName(name);
+    t.setId(id);
+    return t;
+  }
+
+  /**
+   * Create a typecode, representing a tree-like structure.
+   * This structure contains a member that is a sequence of the same type,
+   * as the structure itself. You can imagine as if the folder definition
+   * contains a variable-length array of the enclosed (nested) folder
+   * definitions. In this way, it is possible to have a tree like
+   * structure that can be transferred via CORBA CDR stream.
+   *
+   * @deprecated It is easier and clearler to use a combination of
+   * create_recursive_tc and create_sequence_tc instead.
+   *
+   * @param bound the maximal expected number of the nested components
+   * on each node; 0 if not limited.
+   *
+   * @param offset the position of the field in the returned structure
+   * that contains the sequence of the structures of the same field.
+   * The members before this field are intialised using parameterless
+   * StructMember constructor.
+   *
+   * @return a typecode, defining a stucture, where a member at the
+   * <code>offset</code> position defines an array of the identical
+   * structures.
+   *
+   * @see #create_recursive_tc(String)
+   * @see #create_sequence_tc(int, TypeCode)
+   */
+  public abstract TypeCode create_recursive_sequence_tc(int bound, int offset);
+
+  /**
+   * Create a typecode which serves as a placeholder for typcode, containing
+   * recursion.
+   *
+   * @param id the id of the recursive typecode, for that this typecode
+   * serves as a placeholder.
+   */
+  public TypeCode create_recursive_tc(String id)
+  {
+    return new RecursiveTypeCode(id);
+  }
+
+  /**
+   * Create value box typecode.
+   */
+  public TypeCode create_value_box_tc(String id, String name,
+                                      TypeCode boxed_type
+                                     )
+  {
+    GeneralTypeCode t = new GeneralTypeCode(TCKind.tk_value_box);
+    t.setName(name);
+    t.setId(id);
+    t.setContentType(boxed_type);
+    return t;
+  }
+
+  /**
+   * Create IDL value type code.
+   */
+  public TypeCode create_value_tc(String id, String name, short type_modifier,
+                                  TypeCode concrete_base, ValueMember[] members
+                                 )
+  {
+    RecordTypeCode r = new RecordTypeCode(TCKind.tk_value);
+    r.setId(id);
+    r.setName(name);
+    r.setTypeModifier(type_modifier);
+    r.setConcreteBase_type(concrete_base);
+
+    for (int i = 0; i < members.length; i++)
+      {
+        r.add(members [ i ]);
+      }
+
+    return r;
+  }
+
+  /**
+   * This should return the information, related to the current thread.
+   * The information is needed, for instance, to get the current object
+   * from the code that serves several objects in parallel threads.
+   * The {@link Current} is very general interface, with no fields and
+   * operations defined. This method is not implemented in Suns
+   * releases at least till v1.5 inclusive. To obtain the
+   * {@link org.omg.PortableServer.Current}, use
+   * {@link #resolve_initial_references}, passing "POACurrent".
+   *
+   * @deprecated since 1.2, use {@link #resolve_initial_references}.
+   *
+   * @return never
+   *
+   * @throws NO_IMPLEMENT always.
+   */
+  public Current get_current()
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * This should return the information about the CORBA facilities and
+   * services, available from this ORB. However this method is oficially
+   * documented as not implemented at least till v1.5 inclusive.
+   *
+   * @param service_type a type of the service being requested. The OMG
+   * specification currently defines only one value, 1, for security
+   * related services.
+   *
+   * @param service_info a holder, where the returned information should
+   * be stored.
+   *
+   * @return should return true if the service information is available
+   * from the ORB, but this method never returns.
+   *
+   * @throws NO_IMPLEMENT always.
+   */
+  public boolean get_service_information(short service_type,
+                                         ServiceInformationHolder service_info
+                                        )
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Get the default context of this ORB. This is an initial root of all
+   * contexts.
+   *
+   * The default method returns a new context with the empty name and
+   * no parent context.
+   *
+   * @return the default context of this ORB.
+   *
+   * @throws NO_IMPLEMENT for the Singleton ORB, returned by
+   * the parameterless {@link #init()}.
+   */
+  public abstract Context get_default_context();
+
+  /**
+   * Return thg typecode, representing the given primitive object type.
+   *
+   * @param tcKind the kind of the primitive typecode.
+   *
+   * @return the typecode of the primitve typecode.
+   */
+  public abstract TypeCode get_primitive_tc(TCKind tcKind);
+
+  /**
+   * Returns so-called Singleton ORB, a highly restricted version
+   * that cannot communicate over network. This ORB is provided
+   * for the potentially malicious applets with heavy security restrictions.
+   *
+   * The returned Singleton ORB can only create typecodes,
+   * {@link Any}, {@link ContextList}, {@link NVList} and
+   * {@link org.omg.CORBA.portable.OutputStream} that writes to an
+   * internal buffer.
+   *
+   * All other methods throw the {@link NO_IMPLEMENT} exception, additionally
+   * printing the error message about the potential attempt to violate
+   * the security rules.
+   *
+   * The implementing ORB class, used in this method, is found as described
+   * in the header.
+   *
+   * @return the working derivative of ORB, implementing the methods
+   * of this abstract class.
+   */
+  public static ORB init()
+  {
+    String orb_cn = getCumulatedProperty(null, RESTRICTED_ORB);
+    if (orb_cn == null)
+      return OrbRestricted.Singleton;
+    else
+      return createORB(null, orb_cn);
+  }
+
+  /**
+   * Creates the working instance of ORB for an applet.
+   *
+   * By default the built-in fully functional ORB is returned. The ORB class
+   * is found as described in the header of this class.
+   *
+   * @param applet the applet. The property org.omg.CORBA.ORBClass,
+   * if present, defines the used ORB implementation class. If this
+   * property is not present, the ORB class is found as described in the
+   * class header.
+   *
+   * @param props the properties, may be <code>null</code>.
+   *
+   * @return a newly created functional derivative of this abstract class.
+   */
+  public static ORB init(Applet applet, Properties props)
+  {
+    String ocn = applet.getParameter(FUNCTIONAL_ORB);
+    String lp = applet.getParameter(LISTENER_PORT);
+    
+    if (ocn==null && lp!=null)
+      ocn = DEFAULT_FOCUSED_ORB;
+    
+    ORB orb = createORB(props, ocn);
+    orb.set_parameters(applet, props);
+
+    return orb;
+  }
+
+  /**
+   * Creates the working instance of ORB for a standalone application.
+   * 
+   * By default the built-in fully functional ORB is returned. The ORB class is
+   * found as described in the header of this class.
+   * 
+   * @param args the parameters, passed to the applications
+   * <code>main(String[] args)</code> method, may be <code>null</code>. The
+   * parameter -org.omg.CORBA.ORBClass <class name> if present, defines the used
+   * ORB implementation class. If this property is not present, the ORB class is
+   * found as described in the class header.
+   * 
+   * @param props application specific properties, may be <code>null</code>.
+   * 
+   * @return a newly created functional derivative of this abstract class.
+   */
+  public static ORB init(String[] args, Properties props)
+  {
+    String ocn = null;
+    String lp = null;
+
+    String orbKey = "-" + FUNCTIONAL_ORB;
+    String lpKey = "-" + LISTENER_PORT;
+
+    if (args != null)
+      if (args.length >= 2)
+        {
+          for (int i = 0; i < args.length - 1; i++)
+            {
+              if (args[i].equals(orbKey))
+                ocn = args[i + 1];
+              if (args[i].equals(lpKey))
+                lp = args[i + 1];
+            }
+        }
+
+    if (lp != null && ocn == null)
+      ocn = DEFAULT_FOCUSED_ORB;
+
+    ORB orb = createORB(props, ocn);
+
+    orb.set_parameters(args, props);
+    return orb;
+  }
+
+  /**
+   * List the initially available CORBA objects (services).
+   * 
+   * @return a list of services.
+   * 
+   * @see #resolve_initial_references(String)
+   */
+  public abstract String[] list_initial_services();
+
+  /**
+   * Find and return the easily accessible CORBA object, addressed
+   * by name.  The returned object is typically casted to the more
+   * specific reference using the <code>narrow(Object)</code> method
+   * of its helper. The method resolves the following string values,
+   * returning the working objects:
+   * <table border="1"><tr><th>String</th><th>Object class</th>
+   * <th>Object use</th></tr>
+   *
+   * <tr><td>NameService</td><td>{@link org.omg.CosNaming.NamingContextExt}</td>
+   * <td>Finds (usually remote) object by its name.</td></tr>
+   *
+   * <tr><td>RootPOA</td><td>{@link org.omg.PortableServer.POA}</td>
+   * <td>Holds the POA tree for this ORB, where since 1.4 all servants
+   * should be connected.</td></tr>
+   *
+   * <tr><td>RootPOAManager</td><td>{@link org.omg.PortableServer.POAManager}
+   * </td><td>Regulates (suspends/resumes) the root POA
+   * activity</td></tr>
+   *
+   * <tr><td>POACurrent</td><td>{@link org.omg.PortableServer.Current}
+   * </td><td>Informs the current thread about the Id and POA of the
+   * object being currently served (the methods of
+   * <code>Current</code> return different values for
+   * different threads).
+   * </td></tr>
+   *
+   * <tr><td>CodecFactory</td><td>{@link org.omg.IOP.Codec}</td>
+   * <td>Encodes/decodes IDL data types into/from byte arrays.</td>
+   * </tr>
+   *
+   * <tr><td>DynAnyFactory</td><td>{@link org.omg.DynamicAny.DynAnyFactory}</td>
+   * <td>Creates DynAny's.</td>
+   * </tr>
+   *
+   * <tr><td>PICurrent</td><td>{@link org.omg.PortableInterceptor.Current}</td>
+   * <td>Contains multiple slots where an interceptor can rememeber the
+   * request - specific values between subsequent
+   * calls of the interceptor methods.</td>
+   * </tr>
+   *
+   * </table>
+   *
+   * @param name the object name.
+   * @return the object
+   * @throws org.omg.CORBA.ORBPackage.InvalidName if the given name
+   * is not associated with the known object.
+   */
+  public abstract Object resolve_initial_references(String name)
+    throws org.omg.CORBA.ORBPackage.InvalidName;
+
+  /**
+   * Get the IOR reference string for the given object.
+   * IOR can be compared with the Internet address for a web page,
+   * it provides means to locate the CORBA service on the web.
+   * IOR contains the host address, port number, the object identifier
+   * (key) inside the server, the communication protocol version,
+   * supported charsets and so on.
+   *
+   * @param forObject the CORBA object
+   * @return the object IOR representation.
+   * @see #string_to_object(String)
+   */
+  public abstract String object_to_string(Object forObject);
+
+  /**
+   * This should perform the implementation dependent unit of work in the
+   * main thread.
+   *
+   * This method is part of the support for the distribute use of the
+   * single execution thread.
+   *
+   * Same as in Suns releases at least till 1.4 inclusive,
+   * the distribute use of the single thread is not implemented.
+   * Use multiple threads, provided by jre.
+   *
+   * The method returns without action.
+   */
+  public void perform_work()
+  {
+  }
+
+  /**
+  * Checks if the ORB needs the main thread to perform some work.
+  * The method should return true if the ORB needs the main thread,
+  * and false if it does not.
+  *
+  * This method is part of the support for the distribute use of the
+  * single execution thread.
+  *
+  * Same as in Suns releases at least till 1.4 inclusive,
+  * the distributed use of the single thread is not implemented.
+  * Use multiple threads, provided by jre.
+  *
+  * @return false, always.
+  */
+  public boolean work_pending()
+  {
+    return false;
+  }
+
+  /**
+   * <p>Find and return the CORBA object, addressed by the given
+   * string representation. The object can be (an usually is)
+   * located on a remote computer, possibly running a different
+   * (not necessary java) CORBA implementation. The returned
+   * object is typically casted to the more specific reference
+   * using the <code>narrow(Object)</code> method of its helper.
+   * </p><p>
+   * This function supports the following input formats:<br>
+   * 1. IOR reference (<b>ior:</b>nnnnn ..), usually computer generated.<br> 
+   * 2. <b>corbaloc:</b>[<b>iiop</b>][version.subversion<b>@</b>]<b>:</b>host[<b>:</b>port]<b>/</b><i>key</i>
+   * defines similar information as IOR reference, but is more human readable.
+   * This type of reference may also contain multiple addresses (see
+   * OMG documentation for complete format).<br>
+   * 3. <b>corbaloc:rir:/</b><i>name</i> defines internal reference on this
+   * ORB that is resolved using {@link #resolve_initial_references}, passing 
+   * the given <i>name</i> as parameter.<br>
+   * 4. <b>corbaname:rir:#</b><i>name</i> states that the given <i>name</i>
+   * must be resolved using the naming service, default for this ORB.<br>
+   * 5. <b>corbaname:</b>[<b>iiop</b>][version.subversion<b>@</b>]<b>:</b>host[<b>:</b>port]<b>#</b><i>name</i>
+   * states that the <i>name</i> must be resolved using the naming service
+   * that runs on the given host at the given port. The ORB expects to find 
+   * there the {@link org.omg.CosNaming.NamingContext} under the key 
+   * "NameService.<br>
+   * 7. file://[file name] Read the object definition string from the 
+   * file system<br>
+   * 8. http://[url] Read the object definition string from the provided
+   * url.<br>
+   * 9. ftp://[url] Read the object definition string from the provided
+   * url.<br>
+   * 
+   * <p>The default port is always 2809. The default iiop version is 1.0
+   * that now may not always be supported, so we would recommend to specify
+   * the version explicitly.</p>
+   * <p>
+   * The examples of the corbaloc and corbaname addresses:<br>
+   * corbaname:rir:#xobj - ask local naming service for "xobj".<br>
+   * corbaname:rir:/NameService#xobj - same (long form).<br>
+   * corbaname:iiop:1.2 at localhost:900#xobj - same, assuming that the naming 
+   * service runs at port 900 on the local host and supports iiop 1.2.<br>
+   * corbaname:iiop:localhost#xobj - same, assuming that the naming 
+   * service runs at port 2809 on the local host and supports iiop 1.0.<br>
+   * corbaloc::gnu.xxx.yy/Prod/TradingService - the object exists on the
+   * host gnu.xxx.yy, port 2809 having the key "Prod/TradingService". Its ORB 
+   * supports iiop 1.0.<br>
+   * corbaloc::gnu.xxx.yy/Prod/TradingService:801 - the object exists on the
+   * host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB 
+   * supports iiop 1.0 (iiop keyword ommitted).<br>
+   * corbaloc:iiop:1.1 at gnu.xxx.yy/Prod/TradingService - the object exists on the
+   * host gnu.xxx.yy, port 801 having the key "Prod/TradingService". Its ORB 
+   * supports iiop 1.1.<br>
+   * corbaloc:rir:/NameService - the default naming service.
+   *
+   * @param IOR the object IOR representation string.
+   *
+   * @return the found CORBA object.
+   * 
+   * @throws BAD_PARAM if the string being parsed is invalid.
+   * @throws DATA_CONVERSION if the string being parsed contains unsupported
+   * prefix or protocol.
+   * 
+   * @see #object_to_string(org.omg.CORBA.Object)
+   */
+  public abstract Object string_to_object(String IOR);
+
+  /**
+   * Start listening on the input socket. This method
+   * blocks the current thread until {@link #shutdown(boolean)}
+   * is called and shutdown process is completed.
+   */
+  public void run()
+  {
+  }
+
+  /**
+   * Shutdown the ORB server.
+   *
+   * @param wait_for_completion if true, the current thread is
+   * suspended untile the shutdown process is complete.
+   */
+  public void shutdown(boolean wait_for_completion)
+  {
+  }
+
+  /**
+   * Destroy this server, releasing the occupied resources.
+   * The default method returns without action.
+   */
+  public void destroy()
+  {
+  }
+
+  /**
+   * Set the ORB parameters. This method is normally called from
+   * {@link #init(String[], Properties)}.
+   *
+   * @param para the parameters, that were passed as the parameters
+   * to the  <code>main(String[] args)</code> method of the current standalone
+   * application.
+   *
+   * @param props application specific properties that were passed
+   * as a second parameter in {@link #init(String[], Properties)}).
+   * Can be <code>null</code>.
+   */
+  protected abstract void set_parameters(String[] para, Properties props);
+
+  /**
+   * Set the ORB parameters. This method is normally called from
+   * {@link #init(Applet, Properties)}.
+   *
+   * @param app the current applet.
+   *
+   * @param props application specific properties, passed as the second
+   * parameter in {@link #init(Applet, Properties)}.
+   * Can be <code>null</code>.
+   */
+  protected abstract void set_parameters(Applet app, Properties props);
+
+  /**
+   * Get the property with the given name, searching in the standard
+   * places for the ORB properties.
+   */
+  private static String getCumulatedProperty(Properties props, String property)
+  {
+    String orb_cn = null;
+
+    if (props != null)
+      orb_cn = props.getProperty(property, null);
+
+    if (orb_cn == null)
+      orb_cn = System.getProperty(property, null);
+
+    if (orb_cn == null)
+      orb_cn = checkFile(property, "user.home", null);
+
+    if (orb_cn == null)
+      orb_cn = checkFile(property, "java.home", "lib");
+    
+    return orb_cn;
+  }
+
+  /**
+   * Check if the property is defined in the existsting file orb.properties.
+   *
+   * @param property the property
+   * @param dir the system property, defining the folder where the
+   * file could be expected.
+   * @param subdir subfolder where to look for the file.
+   *
+   * @return the property value, null if not found or file does not exist.
+   */
+  private static String checkFile(String property, String dir, String subdir)
+  {
+    try
+      {
+        File f = new File(dir);
+        if (!f.exists())
+          return null;
+
+        if (subdir != null)
+          f = new File(f, subdir);
+
+        f = new File(f, "orb.properties");
+
+        if (!f.exists())
+          return null;
+
+        Properties p = new Properties();
+        p.load(new BufferedInputStream(new FileInputStream(f)));
+
+        return p.getProperty(property, null);
+      }
+    catch (IOException ex)
+      {
+        return null;
+      }
+  }
+
+  /**
+   * Create ORB when its name is possibly known.
+   * 
+   * @param props properties, possibly containing the ORB name.
+   * @param orbClassName the direct ORB class name, overriding other possible
+   * locations, or null if not specified.
+   */
+  private static ORB createORB(Properties props, String orbClassName)
+  {
+    ORB orb = null;
+
+    if (orbClassName == null)
+      {
+        orbClassName = getCumulatedProperty(props, FUNCTIONAL_ORB);
+
+        if (orbClassName == null)
+          {
+            String lp = getCumulatedProperty(props, LISTENER_PORT);
+            if (lp != null)
+              orbClassName = DEFAULT_FOCUSED_ORB;
+            else
+              orbClassName = DEFAULT_FUNCTIONAL_ORB;
+          }
+      }
+
+    try
+      {
+        orb = (ORB) ObjectCreator.forName(orbClassName).newInstance();
+      }
+    catch (ClassNotFoundException ex)
+      {
+        noORB(orbClassName, ex);
+      }
+    catch (IllegalAccessException ex)
+      {
+        noORB(orbClassName, ex);
+      }
+    catch (InstantiationException ex)
+      {
+        noORB(orbClassName, ex);
+      }
+
+    return orb;
+  }
+
+  /**
+   * Throw the runtime exception.
+   *
+   * @param orb_c the ORB class name.
+   * @param why the explaining chained exception.
+   */
+  private static void noORB(String orb_c, Throwable why)
+  {
+    throw new RuntimeException("The ORB " + orb_c + " cannot be instantiated.",
+                               why
+                              );
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* InconsistentTypeCode.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.ORBPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * The exception is thrown
+ * in response of the attempt to create the dynamic
+ * with an unmatching type code.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InconsistentTypeCode
+  extends UserException
+  implements IDLEntity, Serializable
+{
+  /**
+  * Use serialVersionUID for interoperability.
+  * Using the version 1.4 UID.
+  */
+  private static final long serialVersionUID = -4393472660722667060L;
+
+  /**
+   * Constructs a the exception.
+   */
+  public InconsistentTypeCode()
+  {
+  }
+
+  /**
+   * Constructs the exception, explaining the reason of throwing it.
+   * @param reason a string, explaining, why the exception has been thrown.
+   */
+  public InconsistentTypeCode(String reason)
+  {
+    super(reason);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,79 @@
+/* InvalidName.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA.ORBPackage;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.UserException;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * The exception is thrown by
+ * {@link org.omg.CORBA.ORB#resolve_initial_references(String)}
+ * in response of passing a name for
+ * which there is no initial reference.
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class InvalidName
+  extends UserException
+  implements IDLEntity, Serializable
+{
+  /**
+   * Use serialVersionUID for interoperability.
+   * Using the version 1.4 UID.
+   */
+  private static final long serialVersionUID = 6635923991559230168L;
+
+  /**
+   * Constructs a the exception.
+   */
+  public InvalidName()
+  {
+  }
+
+  /**
+   * Constructs the exception, explaining the reason of throwing it.
+   * @param reason a string, explaining, why the exception has been thrown.
+   */
+  public InvalidName(String reason)
+  {
+    super(reason);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ORBPackage/package.html Thu Nov  8 16:56:19 2007
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.sql package.
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - org.omg.CORBA.ORBPackage</title></head>
+
+<body>
+<p>Provides a couple of exceptions, thrown by methods in the {@link org.omg.CORBA.ORB} class.</p>
+
+</body>
+</html>

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Object.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,191 @@
+/* Object.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * The CORBA object reference. The object can be either local or remote.
+ * For the local object, the methods of the derived object are called
+ * like on any other java object. For the remote object, the reference
+ * points to the stup (proxy), responsible for the remote invocation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface Object
+{
+  /**
+   * Create a request to invoke the method of this object.
+   *
+   * @param context a list of additional properties.
+   * @param operation the name of method to be invoked.
+   * @param parameters the method parameters.
+   * @param returns the container for tge method returned value.
+   *
+   * @return the created reaquest.
+   */
+  Request _create_request(Context context, String operation, NVList parameters,
+                          NamedValue returns
+                         );
+
+  /**
+   * Create a request to invoke the method of this object, specifying
+   * context list and the list of the expected exception.
+   *
+   * @param context a list of additional properties.
+   * @param operation the name of method to be invoked.
+   * @param parameters the method parameters.
+   * @param returns the container for tge method returned value.
+   * @param exceptions the list of the possible exceptions that the method
+   * can throw.
+   * @param ctx_list the list of the context strings that need to be
+   * resolved and send as a context instance.
+   *
+   * @return the created reaquest.
+   */
+  Request _create_request(Context context, String operation, NVList parameters,
+                          NamedValue returns, ExceptionList exceptions,
+                          ContextList ctx_list
+                         );
+
+  /**
+   * Duplicate the object reference. This does not make much sense for
+   * java platform and is just included for the sake of compliance with
+   * CORBA APIs.
+   *
+   * The method may return the object reference itself.
+   *
+   * @return as a rule, <code>this</code>.
+   */
+  org.omg.CORBA.Object _duplicate();
+
+  /**
+   * Retrieve the domain managers for this object.
+   *
+   * @return the domain managers.
+   */
+  DomainManager[] _get_domain_managers();
+
+  /**
+   * Get the <code>InterfaceDef</code> for this Object.
+   */
+  org.omg.CORBA.Object _get_interface_def();
+
+  /**
+   * Returns the {@link Policy}, applying to this object.
+   *
+   * @param a_policy_type a type of policy to be obtained.
+   * @return a corresponding Policy object.
+   *
+   * @throws BAD_PARAM if the policy of the given type is not
+   * associated with this object, or if it is not supported by this ORB.
+   */
+  Policy _get_policy(int a_policy_type)
+              throws BAD_PARAM;
+
+  /**
+   * Get the hashcode this object reference. The same hashcode still
+   * does not means that the references are the same. From the other
+   * side, two different references may still refer to the same CORBA
+   * object. The returned value must not change during the object
+   * lifetime.
+   *
+   * @param maximum the maximal value to return.
+   *
+   * @return the hashcode.
+   */
+  int _hash(int maximum);
+
+  /**
+   * Check if this object can be referenced by the given repository id.
+   *
+   * @param repositoryIdentifer the repository id.
+   *
+   * @return true if the passed parameter is a repository id of this
+   * CORBA object.
+   */
+  boolean _is_a(String repositoryIdentifer);
+
+  /**
+   * Return true if the other object references are equivalent, so far as
+   * it is possible to determine this easily.
+   *
+   * @param other the other object reference.
+   *
+   * @return true if both references refer the same object, false
+   * if they probably can refer different objects.
+   */
+  boolean _is_equivalent(org.omg.CORBA.Object other);
+
+  /**
+   * Determines if the server object for this reference has already
+   * been destroyed.
+   *
+   * @return true if the object has been destroyed, false otherwise.
+   */
+  boolean _non_existent();
+
+  /**
+   * Free resoureces, occupied by this reference. The object implementation
+   * is not notified, and the other references to the same object are not
+   * affected.
+   */
+  void _release();
+
+  /**
+   * Create a request to invoke the method of this CORBA object.
+   *
+   * @param operation the name of the method to invoke.
+   *
+   * @return the request.
+   */
+  Request _request(String operation);
+
+  /**
+   * Returns a new object with the new policies either replacing or
+   * extending the current policies, depending on the second parameter.
+   *
+   * @param policies the policy additions or replacements.
+   *
+   * @param how either {@link SetOverrideType#SET_OVERRIDE} to override the
+   * current policies of {@link SetOverrideType#ADD_OVERRIDE} to replace
+   * them.
+   *
+   * @return the new reference with the changed policies.
+   */
+  Object _set_policy_override(Policy[] policies, SetOverrideType how);
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,112 @@
+/* ObjectHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * The helper operations for the binding list.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class ObjectHelper
+{
+  /**
+   * Extract the array of object from the given {@link Any}.
+   */
+  public static org.omg.CORBA.Object extract(Any a)
+  {
+    try
+      {
+        return ((ObjectHolder) a.extract_Streamable()).value;
+      }
+    catch (ClassCastException ex)
+      {
+        BAD_OPERATION bad = new BAD_OPERATION("CORBA object expected");
+        bad.minor = Minor.Any;
+        throw bad;        
+      }
+  }
+
+  /**
+   * Get the object repository id.
+   * @return the empty string.
+   */
+  public static String id()
+  {
+    return "";
+  }
+
+  /**
+   * Insert the object into the given {@link Any}.
+   */
+  public static void insert(Any a, org.omg.CORBA.Object object)
+  {
+    a.insert_Streamable(new ObjectHolder(object));
+  }
+
+  /**
+   * Read the object from the given CDR input stream.
+   */
+  public static org.omg.CORBA.Object read(InputStream istream)
+  {
+    return istream.read_Object();
+  }
+
+  /**
+   * Return the object type code.
+   */
+  public static TypeCode type()
+  {
+    return OrbRestricted.Singleton.get_primitive_tc(TCKind.tk_objref);
+  }
+
+  /**
+   * Write the object into the given CDR output stream.
+   */
+  public static void write(OutputStream ostream, org.omg.CORBA.Object value)
+  {
+    ostream.write_Object(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ObjectHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,134 @@
+/* ObjectHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.RecordTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for CORBA <code>Object</code> that is mapped into
+ * java <code>org.omg.CORBA.Object</code>.
+ *
+ * The holders have several application areas. The end user usually
+ * sees them implementing CORBA methods where the primitive type
+ * is passed by reference. While CORBA (or, for example, C) supports
+ * this, the java does not and a wrapper class is required.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class ObjectHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder if the object type code with
+   * the zero length string as id.
+   */
+  private static final RecordTypeCode t_object;
+
+  static
+  {
+    t_object = new RecordTypeCode(TCKind.tk_objref);
+    t_object.setId("");
+  }
+
+  /**
+   * The <code>org.omg.CORBA.Object</code> (CORBA <code>Object</code>) value,
+   * held by this ObjectHolder.
+   */
+  public org.omg.CORBA.Object value;
+
+  /**
+   * Constructs an instance of ObjectHolder,
+   * initializing {@link #value} to <code>0</code>.
+   */
+  public ObjectHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of ObjectHolder,
+   * initializing {@link #value} to the given <code>org.omg.CORBA.Object</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public ObjectHolder(org.omg.CORBA.Object initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For <code>org.omg.CORBA.Object</code>, the
+   * functionality is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_Object}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_Object();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return ObjectHelper.type();
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For <code>Object</code>, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_Object(Object) }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_Object(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* OctetSeqHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.TypeCodePackage.BadKind;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * Provides static helper methods for working with
+ * CORBA sequence of <code>byte</code>
+ * (<code>OctetSeq</code>).
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class OctetSeqHelper
+{
+  /**
+   * Extract the <code>byte[]</code> from the
+   * given {@link Any}. This implementation expects the
+   * {@link Any} to hold the instance of {@link OctetSeqHolder}
+   * that is returned by {@link Any#extract_Streamable() }.
+   *
+   * @param a an Any to extract the array from.
+   *
+   * @return the extracted array.
+   *
+   * @throws ClassCastException if the Any contains something other than the
+   * the {@link OctetSeqHolder}.
+   */
+  public static byte[] extract(Any a)
+  {
+    OctetSeqHolder h = (OctetSeqHolder) a.extract_Streamable();
+    return h.value;
+  }
+
+  /**
+   * Returns the agreed Id, delegating functionality to
+   * the {@link #type()}.id().
+   */
+  public static String id()
+  {
+    try
+      {
+        return type().id();
+      }
+    catch (BadKind ex)
+      {
+        // Should never happen under correct work.
+        throw new Error("Please report this bug.", ex);
+      }
+  }
+
+  /**
+  * Insert into the given <code>byte[]</code> into the
+  * given {@link Any}. This implementation first creates
+  * a {@link OctetSeqHolder} and then calls
+  * {@link Any#insert_Streamable(Streamable)}.
+  *
+  * @param into the target Any.
+  * @param that the array to insert.
+  */
+  public static void insert(Any into, byte[] that)
+  {
+    OctetSeqHolder holder = new OctetSeqHolder(that);
+    into.insert_Streamable(holder);
+  }
+
+  /**
+   * Reads the <code>byte[]</code> from the CORBA input stream.
+   *
+   * @param input the CORBA (not java.io) stream to read from.
+   * @return the value from the stream.
+   */
+  public static byte[] read(InputStream input)
+  {
+    byte[] value = new byte[ input.read_long() ];
+    input.read_octet_array(value, 0, value.length);
+    return value;
+  }
+
+  /**
+   * Creates and returns a new instance of the TypeCode,
+   * corresponding the CORBA <code>OctetSeq</code>.
+   * The length of the sequence is left with the initial
+   * value 0.
+   */
+  public static TypeCode type()
+  {
+    return new ArrayTypeCode(TCKind.tk_octet);
+  }
+
+  /**
+   * Writes the <code>byte[]</code> into the given stream.
+   *
+   * @param output the CORBA (not java.io) output stream to write.
+   * @param value the value that must be written.
+   */
+  public static void write(OutputStream output, byte[] value)
+  {
+    output.write_long(value.length);
+    output.write_octet_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/OctetSeqHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,126 @@
+/* OctetSeqHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.ArrayTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A sequence holder for CORBA <code>OctetSeq</code> that is mapped into
+ * java <code>byte[]</code>.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class OctetSeqHolder
+  implements Streamable
+{
+  /**
+   * The <code>byte[]</code> (CORBA <code>OctetSeq</code>) value,
+   * held by this OctetSeqHolder.
+   */
+  public byte[] value;
+
+  /**
+   * The type code for this holder. Each holder has a different instance.
+   */
+  private final ArrayTypeCode typecode =
+    new ArrayTypeCode(TCKind.tk_octet);
+
+  /**
+   * Constructs an instance of OctetSeqHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public OctetSeqHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of OctetSeqHolder,
+   * initializing {@link #value} to the given <code>byte[]</code>.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public OctetSeqHolder(byte[] initial_value)
+  {
+    value = initial_value;
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. This method first reads the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.InputStream#read_octet_array }.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = new byte[ input.read_long() ];
+    input.read_octet_array(value, 0, value.length);
+    typecode.setLength(value.length);
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return typecode;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * This method first writes the array size
+   * (as CORBA <code>long</code>) and then calls the
+   * {@link org.omg.CORBA.portable.OutputStream#write_octet_array }.
+   *
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_long(value.length);
+    output.write_octet_array(value, 0, value.length);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PERSIST_STORE.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,96 @@
+/* PERSIST_STORE.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Indicates a persistent storage failure like database crash.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class PERSIST_STORE
+  extends SystemException
+  implements Serializable
+{
+  /** 
+   * Use serialVersionUID for interoperability. 
+   */
+  private static final long serialVersionUID = -6835478548864681965L;
+
+  /**
+   * Creates a PERSIST_STORE with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public PERSIST_STORE(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates PERSIST_STORE with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public PERSIST_STORE()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a PERSIST_STORE exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public PERSIST_STORE(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created PERSIST_STORE exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public PERSIST_STORE(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* PRIVATE_MEMBER.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * One of the two constants, defining the visibility scope of
+ * the {@link ValueMember}. The other constant is
+ * {@link PUBLIC_MEMBER}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see ValueMember#access
+ */
+public interface PRIVATE_MEMBER
+{
+  /**
+   * The flag, specifying that the value member is private.
+   */
+  short value = 0;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* PUBLIC_MEMBER.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+/**
+ * One of the two constants, defining the visibility scope of
+ * the {@link ValueMember}. The other constant is
+ * {@link PRIVATE_MEMBER}.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ *
+ * @see ValueMember#access
+ */
+public interface PUBLIC_MEMBER
+{
+  /**
+   * The flag, specifying that the value member is public.
+   */
+  short value = 1;
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterMode.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,142 @@
+/* ParameterMode.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * Defines the parameter modes (the ways in that a method parameter
+ * is used during invocation).
+ *
+ * In CORBA, a method parameter can pass the value (PARAM_IN),
+ * be used as a placeholder to return the value (PARAM_OUT) or
+ * both pass the data and be used as a placeholder to return the
+ * changed value (PARAM_INOUT).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public class ParameterMode
+  implements Serializable, IDLEntity
+{
+  /**
+   * Use serialVersionUID (v1.4) for interoperability.
+   */
+  private static final long serialVersionUID = 1521598391932998229L;
+
+  /**
+   * This value means that the parameter is an IN parameter.
+   */
+  public static final int _PARAM_IN = 0;
+
+  /**
+   * This value means that the parameter is an OUT parameter.
+   */
+  public static final int _PARAM_OUT = 1;
+
+  /**
+   * This value means that the parameter is an INOUT parameter.
+   */
+  public static final int _PARAM_INOUT = 2;
+
+  /**
+   * This value means that the parameter is an IN parameter.
+   */
+  public static final ParameterMode PARAM_IN = new ParameterMode(_PARAM_IN);
+
+  /**
+   * This value means that the parameter is an OUT parameter.
+   */
+  public static final ParameterMode PARAM_OUT = new ParameterMode(_PARAM_OUT);
+
+  /**
+   * This value means that the parameter is an INOUT parameter.
+   */
+  public static final ParameterMode PARAM_INOUT = new ParameterMode(_PARAM_INOUT);
+
+  /**
+   * The value of this parameter mode instance.
+   */
+  private final int value;
+
+  /**
+   * The conversion table.
+   */
+  private static final ParameterMode[] table =
+    new ParameterMode[] { PARAM_IN, PARAM_OUT, PARAM_INOUT };
+
+  /**
+   * Create an instance of the parameter mode with the given value.
+   */
+  protected ParameterMode(int a_value)
+  {
+    value = a_value;
+  }
+
+  /**
+   * Return the integer value code for the given parameter mode.
+   *
+   * @return 0 for PARAM_IN, 1 for PARAM_OUT, 3 for PARAM_INOUT.
+   */
+  public int value()
+  {
+    return value;
+  }
+
+  /**
+   * Get a parameter mode instance for the integer parameter mode code.
+   *
+   * @param p_mode a parameter mode (0..2).
+   *
+   * @return a corresponding parameter mode instance.
+   *
+   * @throws BAD_PARAM for the invalid parameter mode code.
+   */
+  public static ParameterMode from_int(int p_mode)
+  {
+    try
+      {
+        return table [ p_mode ];
+      }
+    catch (ArrayIndexOutOfBoundsException ex)
+      {
+        throw new BAD_PARAM("Invalid parameter mode: " + p_mode);
+      }
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* ParameterModeHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for a method parameter modes.
+ * A method parameter can pass the value (PARAM_IN), be used as a placeholder
+ * to return the value (PARAM_OUT) or both pass the data and be used as a
+ * placeholder to return the changed value (PARAM_INOUT).
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class ParameterModeHelper
+{
+  /**
+   * Insert the parameter mode into the given Any.
+   */
+  public static void insert(Any any, ParameterMode that)
+  {
+    any.insert_Streamable(new ParameterModeHolder(that));
+  }
+
+  /**
+   * Extract the parameter mode from the given Any.
+   */
+  public static ParameterMode extract(Any any)
+  {
+    return ((ParameterModeHolder) any.extract_Streamable()).value;
+  }
+
+  /**
+   * Get the parameter mode typecode (enumeration, named "ParameterMode").
+   * The typecode states that the enumeration can obtain one of
+   * the following values: PARAM_IN ,PARAM_OUT ,PARAM_INOUT .
+   */
+  public static TypeCode type()
+  {
+        String[] members =
+          new String[] { "PARAM_IN", "PARAM_OUT", "PARAM_INOUT" };
+
+        return
+          OrbRestricted.Singleton.create_enum_tc(id(), "ParameterMode", members);
+  }
+
+  /**
+   * Get the parameter mode repository id.
+   *
+   * @return "IDL:omg.org/CORBA/ParameterMode:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/ParameterMode:1.0";
+  }
+
+  /**
+   * Read the enumeration value (as int) from the CDR intput stream.
+   *
+   * @param istream a stream to read from.
+   */
+  public static ParameterMode read(InputStream istream)
+  {
+    return ParameterMode.from_int(istream.read_long());
+  }
+
+  /**
+   * Write the enumeration value (as int) to the CDR output stream.
+   *
+   * @param ostream a stream to write into.
+   * @param value a value to write.
+   */
+  public static void write(OutputStream ostream, ParameterMode value)
+  {
+    ostream.write_long(value.value());
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ParameterModeHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,93 @@
+/* ParameterModeHolder.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * The holder for ParameterMode.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class ParameterModeHolder
+  implements org.omg.CORBA.portable.Streamable
+{
+  /**
+   * The stored ParameterMode value.
+   */
+  public ParameterMode value;
+
+  /**
+   * Create the uninitialised instance.
+   */
+  public ParameterModeHolder()
+  {
+  }
+
+  /**
+   * Create the initialised instance.
+   * @param initialValue
+   */
+  public ParameterModeHolder(ParameterMode initialValue)
+  {
+    value = initialValue;
+  }
+
+  /**
+   * Fill in the {@link #value} by data from the CDR stream.
+   */
+  public void _read(org.omg.CORBA.portable.InputStream in)
+  {
+    value = ParameterModeHelper.read(in);
+  }
+
+  /**
+   * Get the typecode of the ParameterMode.
+   */
+  public org.omg.CORBA.TypeCode _type()
+  {
+    return ParameterModeHelper.type();
+  }
+
+  /**
+   * Write the stored value into the CDR stream.
+   */
+  public void _write(org.omg.CORBA.portable.OutputStream out)
+  {
+    ParameterModeHelper.write(out, value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Policy.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,55 @@
+/* Policy.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * The interfaces derived from the class allow an ORB or CORBA service
+ * access to certain choices (id assignment, threading model and so on)
+ * that affect they operation.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface Policy
+  extends IDLEntity, Object, Serializable, PolicyOperations
+{
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyError.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,104 @@
+/* PolicyError.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+import java.io.Serializable;
+
+/**
+ * The exception is thrown when a policy error occurs.
+ * A PolicyError exception may include one of the following error reason codes:
+ * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+ * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+ * {@link UNSUPPORTED_POLICY_VALUE}.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class PolicyError
+  extends UserException
+  implements IDLEntity, Serializable
+{
+  /**
+   * Holds the exception reason code, one of
+   * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+   * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+   * {@link UNSUPPORTED_POLICY_VALUE}.
+  */
+  public short reason;
+
+  /**
+   * Use serialVersionUID (v1.4) for interoperability.
+   */
+  private static final long serialVersionUID = -9196809779974700103L;
+
+  /**
+   * Constructs an uninitialised instance of the policy error.
+   */
+  public PolicyError()
+  {
+  }
+
+  /**
+   * Constructs the policy error with the given reason code.
+   * @param a_reason a reason code, one of
+   * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+   * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+   * {@link UNSUPPORTED_POLICY_VALUE}.
+   */
+  public PolicyError(short a_reason)
+  {
+    reason = a_reason;
+  }
+
+  /**
+   * Constructs the policy error with the given reason code and the
+   * detailed message.
+   * @param a_details the detailed message.
+   * @param a_reason a reason code, one of
+   * {@link BAD_POLICY}, {@link BAD_POLICY_TYPE},
+   * {@link BAD_POLICY_VALUE}, {@link UNSUPPORTED_POLICY},
+   * {@link UNSUPPORTED_POLICY_VALUE}.
+   */
+  public PolicyError(String a_details, short a_reason)
+  {
+    super(a_details);
+    reason = a_reason;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,115 @@
+/* PolicyErrorCodeHelper.java --
+Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+import gnu.CORBA.typecodes.RecordTypeCode;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A helper operations for the policy error code as an alias of
+ * <code>short</code>.
+ * 
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class PolicyErrorCodeHelper
+
+{
+
+  /**
+   * Delegates call to {@link Any.extract_short()}.
+   */
+  public static short extract(Any a)
+  {
+    return a.extract_short();
+  }
+
+  /**
+   * Returns policy error code repository id.
+   * 
+   * @return "IDL:omg.org/CORBA/PolicyErrorCode:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/PolicyErrorCode:1.0";
+  }
+
+  /**
+   * Delegates call to {@link Any.insert_short(short)}.
+   */
+  public static void insert(Any a, short that)
+  {
+    a.insert_short(that);
+  }
+
+  /**
+   * Delegates call to {@link InputStream.read_short()}.
+   */
+  public static short read(InputStream istream)
+  {
+    return istream.read_short();
+  }
+
+  /**
+   * Returns a typecode of the policy error code, stating it is an alias of
+   * <code>short</code>, named "PolicyErrorCode".
+   * 
+   * @return a typecode of synchronization scope.
+   */
+  public static TypeCode type()
+  {
+    RecordTypeCode r = new RecordTypeCode(TCKind.tk_alias);
+    r.setName("PolicyErrorCode");
+    r.setId(id());
+    r.setContentType(new PrimitiveTypeCode(TCKind.tk_short));
+    return r;
+  }
+
+  /**
+   * Delegates call to {@link OutputStream#write_short()}.
+   */
+  public static void write(OutputStream ostream, short value)
+  {
+    ostream.write_short(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,150 @@
+/* PolicyErrorHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the exception {@link PolicyError}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyErrorHelper
+{
+  /**
+   * Create the PolicyError typecode. The typecode defines a structure, named
+   * "PolicyError", containing the {@link PolicyErrorCode} (alias int) field,
+   * named "reason".
+   */
+  public static TypeCode type()
+  {
+    ORB orb = OrbRestricted.Singleton;
+    StructMember[] members = new StructMember[ 1 ];
+    
+    TypeCode field;
+    
+    field =
+      orb.create_alias_tc("IDL:omg.org/CORBA/PolicyErrorCode:1.0",
+                          "PolicyErrorCode", orb.get_primitive_tc(TCKind.tk_short)
+      );
+    members [ 0 ] = new StructMember("reason", field, null);
+    return orb.create_exception_tc(id(), "PolicyError", members);
+  }
+
+  /**
+  * Insert the PolicyError into the given Any.
+  * This method uses the PolicyErrorHolder.
+  *
+  * @param any the Any to insert into.
+  * @param that the PolicyError to insert.
+  */
+  public static void insert(Any any, PolicyError that)
+  {
+    any.insert_Streamable(new PolicyErrorHolder(that));
+  }
+
+  /**
+   * Extract the PolicyError from given Any.
+   * This method uses the PolicyErrorHolder.
+   *
+   * @throws BAD_OPERATION if the passed Any does not contain PolicyError.
+   */
+  public static PolicyError extract(Any any)
+  {
+    try
+      {
+        return ((PolicyErrorHolder) any.extract_Streamable()).value;
+      }
+    catch (ClassCastException cex)
+      {
+        BAD_OPERATION bad = new BAD_OPERATION("PolicyError expected");
+        bad.minor = Minor.Any;
+        bad.initCause(cex);
+        throw bad;
+      }
+  }
+
+  /**
+   * Get the PolicyError repository id.
+   *
+   * @return "IDL:omg.org/CORBA/PolicyError:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/PolicyError:1.0";
+  }
+
+  /**
+   * Read the exception from the CDR intput stream.
+   *
+   * @param input a org.omg.CORBA.portable stream to read from.
+   */
+  public static PolicyError read(InputStream input)
+  {
+    // Read the exception repository id.
+    String id = input.read_string();
+    PolicyError value = new PolicyError();
+
+    value.reason = input.read_short();
+    return value;
+  }
+
+  /**
+   * Write the exception to the CDR output stream.
+   *
+   * @param output a org.omg.CORBA.portable stream stream to write into.
+   * @param value a value to write.
+   */
+  public static void write(OutputStream output, PolicyError value)
+  {
+    // Write the exception repository id.
+    output.write_string(id());
+    output.write_short(value.reason);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,103 @@
+/* PolicyErrorHolder.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the exception {@link PolicyError}.
+
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class PolicyErrorHolder implements Streamable
+{
+  /**
+   * The stored PolicyError value.
+   */
+  public PolicyError value;
+
+  /**
+   * Create the uninitialised instance, leaving the value field
+   * with default <code>null</code> value.
+   */
+  public PolicyErrorHolder()
+  {
+  }
+
+  /**
+   * Create the initialised instance.
+   * @param initialValue the value that will be assigned to
+   * the <code>value</code> field.
+   */
+  public PolicyErrorHolder(PolicyError initialValue)
+  {
+    value = initialValue;
+  }
+
+  /**
+   * Fill in the {@link #value} by data from the CDR stream.
+   *
+   * @param input the org.omg.CORBA.portable stream to read.
+   */
+  public void _read(InputStream input)
+  {
+    value = PolicyErrorHelper.read(input);
+  }
+
+  /**
+   * Write the stored value into the CDR stream.
+   *
+   * @param output the org.omg.CORBA.portable stream to write.
+   */
+  public void _write(OutputStream output)
+  {
+    PolicyErrorHelper.write(output, value);
+  }
+
+  /**
+   * Get the typecode of the PolicyError.
+   */
+  public TypeCode _type()
+  {
+    return PolicyErrorHelper.type();
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,162 @@
+/* PolicyHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the
+* CORBA object {@link Policy}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyHelper
+{
+  /**
+   * Get the type code of the {@link Policy}.
+   *
+   * @return interface typecode, named "Policy".
+   */
+  public static TypeCode type()
+  {
+    return OrbRestricted.Singleton.create_interface_tc(id(), "Policy");
+  }
+
+  /**
+   * Insert the Policy into the given Any.
+   *
+   * @param any the Any to insert into.
+   * @param that the Policy to insert.
+   */
+  public static void insert(Any any, Policy that)
+  {
+    any.insert_Streamable(new PolicyHolder(that));
+  }
+
+  /**
+   * Extract the Policy from given Any.
+   *
+   * @throws BAD_OPERATION if the passed Any does not contain Policy.
+   */
+  public static Policy extract(Any any)
+  {
+    try
+      {
+        PolicyHolder h = (PolicyHolder) any.extract_Streamable();
+        return h.value;
+      }
+    catch (ClassCastException ex)
+      {
+        BAD_OPERATION bad = new BAD_OPERATION("Policy expected");
+        bad.minor = Minor.Any;
+        throw bad;
+      }
+  }
+
+  /**
+   * Get the Policy repository id.
+   *
+   * @return "IDL:omg.org/CORBA/Policy:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/Policy:1.0";
+  }
+
+  /**
+   * Cast the passed object into the Policy. If the
+   * object has a different java type, create an instance
+   * of the _PolicyStub, using the same delegate, as for
+   * the passed parameter. Hence, unlike java type cast,
+   * this method may return a different object, than has been passed.
+   *
+   * @param obj the object to narrow.
+   * @return narrowed instance.
+   * @throws BAD_PARAM if the passed object is not a Policy.
+   */
+  public static Policy narrow(org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof Policy)
+      return (Policy) obj;
+    else
+      {
+        // Check for the policy id cannot be performed because
+        // this helper must read various subclasses of the Policy,
+        // and the IOR profile currently supports only one id.
+
+        Delegate delegate = ((ObjectImpl) obj)._get_delegate();
+        return new _PolicyStub(delegate);
+      }
+  }
+
+  /**
+   * Read the object from the CDR intput stream (IOR profile expected).
+   *
+   * @param input a org.omg.CORBA.portable stream to read from.
+   */
+  public static Policy read(InputStream input)
+  {
+    return narrow(input.read_Object());
+  }
+
+  /**
+   * Write the object to the CDR output stream (as IOR profile).
+   *
+   * @param output a org.omg.CORBA.portable stream stream to write into.
+   * @param value a value to write.
+   */
+  public static void write(OutputStream output, Policy value)
+  {
+    output.write_Object(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,106 @@
+/* PolicyHolder.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the object {@link Policy}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class PolicyHolder
+  implements Streamable
+{
+  /**
+   * The stored Policy value.
+   */
+  public Policy value;
+
+  /**
+   * Create the uninitialised instance, leaving the value field
+   * with default <code>null</code> value.
+   */
+  public PolicyHolder()
+  {
+  }
+
+  /**
+   * Create the initialised instance.
+   * @param initialValue the value that will be assigned to
+   * the <code>value</code> field.
+   */
+  public PolicyHolder(Policy initialValue)
+  {
+    value = initialValue;
+  }
+
+  /**
+   * Fill in the {@link #value} by data from the CDR stream.
+   * Delegates work to {@link PolicyHelper}.
+   *
+   * @param input the org.omg.CORBA.portable stream to read.
+   */
+  public void _read(InputStream input)
+  {
+    value = PolicyHelper.read(input);
+  }
+
+  /**
+   * Write the stored value into the CDR stream.
+   * Delegates work to {@link PolicyHelper}.
+   *
+   * @param output the org.omg.CORBA.portable stream to write.
+   */
+  public void _write(OutputStream output)
+  {
+    PolicyHelper.write(output, value);
+  }
+
+  /**
+   * Get the typecode of the Policy.
+   * Delegates work to {@link PolicyHelper}.
+   */
+  public org.omg.CORBA.TypeCode _type()
+  {
+    return PolicyHelper.type();
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,147 @@
+/* PolicyListHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.Minor;
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.Delegate;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.ObjectImpl;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* The helper operations for the
+* CORBA object {@link Policy[]}.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyListHelper
+{
+  /**
+   * Get the type code of the {@link Policy[]}.
+   */
+  public static TypeCode type()
+  {
+     return OrbRestricted.Singleton.create_interface_tc(id(), "Policy[]");
+  }
+
+  /**
+   * Insert the Policy[] into the given Any.
+   *
+   * @param any the Any to insert into.
+   * @param that the Policy[] to insert.
+   */
+  public static void insert(Any any, Policy[] that)
+  {
+    any.insert_Streamable(new PolicyListHolder(that));
+  }
+
+  /**
+   * Extract the Policy[] from given Any.
+   *
+   * @throws BAD_OPERATION if the passed Any does not contain Policy[].
+   */
+  public static Policy[] extract(Any any)
+  {
+    try
+      {
+        PolicyListHolder holds = (PolicyListHolder) any.extract_Streamable();
+        return holds.value;
+      }
+    catch (ClassCastException ex)
+      {
+        BAD_OPERATION bad = new BAD_OPERATION("Policy[] expected");
+        bad.minor = Minor.Any;
+        throw bad;
+      }
+  }
+
+  /**
+   * Get the Policy[] repository id.
+   *
+   * @return "IDL:omg.org/CORBA/PolicyList:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/PolicyList:1.0";
+  }
+
+  /**
+   * Read the sequence of policies from the CDR intput stream.
+   * The method follows usual CDR standards (an array length as
+   * CORBA long, followed by the array members, if any).
+   * The array members are read using {@link PolicyHelper}.
+   *
+   * @param input a org.omg.CORBA.portable stream to read from.
+   */
+  public static Policy[] read(InputStream input)
+  {
+    Policy[] p = new Policy[ input.read_long() ];
+    for (int i = 0; i < p.length; i++)
+      {
+        p [ i ] = PolicyHelper.read(input);
+      }
+    return p;
+  }
+
+  /**
+   * Write the sequence of policies from the CDR intput stream.
+   * The method follows usual CDR standards (an array length as
+   * CORBA long, followed by the array members, if any).
+   * The array members are written using {@link PolicyHelper}.
+   *
+   * @param output a org.omg.CORBA.portable stream stream to write into.
+   * @param value a policy array to write.
+   */
+  public static void write(OutputStream output, Policy[] value)
+  {
+    output.write_long(value.length);
+    for (int i = 0; i < value.length; i++)
+      {
+        PolicyHelper.write(output, value [ i ]);
+      }
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyListHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,106 @@
+/* PolicyListHolder.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+* A holder for the object <code>Policy[]</code>.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public final class PolicyListHolder
+  implements Streamable
+{
+  /**
+   * The stored Policy[] value.
+   */
+  public Policy[] value;
+
+  /**
+   * Create the uninitialised instance, leaving the value field
+   * with default <code>null</code> value.
+   */
+  public PolicyListHolder()
+  {
+  }
+
+  /**
+   * Create the initialised instance.
+   * @param initialValue the value that will be assigned to
+   * the <code>value</code> field.
+   */
+  public PolicyListHolder(Policy[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  /**
+   * Fill in the {@link #value} by data from the CDR stream.
+   * Uses {@link PolicyListHelper}.
+   *
+   * @param input the org.omg.CORBA.portable stream to read.
+   */
+  public void _read(InputStream input)
+  {
+    value = PolicyListHelper.read(input);
+  }
+
+  /**
+   * Write the stored value into the CDR stream.
+   * Uses {@link PolicyListHelper}.
+   *
+   * @param output the org.omg.CORBA.portable stream to write.
+   */
+  public void _write(OutputStream output)
+  {
+    PolicyListHelper.write(output, value);
+  }
+
+  /**
+   * Get the typecode of the Policy[].
+   * Uses {@link PolicyListHelper}.
+   */
+  public org.omg.CORBA.TypeCode _type()
+  {
+    return PolicyListHelper.type();
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyOperations.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,70 @@
+/* PolicyOperation.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * Defines the operations that can be applied to the {@link Policy}
+ * object.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public interface PolicyOperations
+{
+  /**
+   * Return a copy of this Policy.
+   *
+   * @return a copy of theis Policy, without any retained relationships
+   * to the previous domain or object.
+   */
+  Policy copy();
+
+  /**
+   * Destroy the policy object.
+   */
+  void destroy();
+
+  /**
+   * Return an integer number, corresponding the type of this policy.
+   * The values, defining the different policy types, are allocated
+   * by OMG (request AT omg DOT org).
+   * 
+   * @return the integer policy code.
+   */
+  int policy_type();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,124 @@
+/* PolicyTypeHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.BAD_OPERATION;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.StructMember;
+import org.omg.CORBA.TCKind;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+* A helper operations for the policy type. A policy type is an integer
+* constant and needs no helper, but the one is included to
+* to facilitate the automated code handling.
+*
+* @specnote In this implementation, this class is not in use. Its "logical"
+* place would be {@link ORB}, having the PolicyType type. These parameters
+* are declarded as <coe>int</code> in the ORB interface.
+*
+* @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+*/
+public abstract class PolicyTypeHelper
+{
+  /**
+   * Create the PolicyType typecode (alias of CORBA ulong, named "PolicyType".
+   */
+  public static TypeCode type()
+  {
+    ORB orb = OrbRestricted.Singleton;
+    return orb.create_alias_tc(id(), "PolicyType",
+                               orb.get_primitive_tc(TCKind.tk_ulong)
+                              );
+  }
+
+  /**
+  * Insert the int into the given Any.
+  */
+  public static void insert(Any any, int that)
+  {
+    any.insert_ulong(that);
+  }
+
+  /**
+   * Extract the int from given Any.
+   *
+   * @throws BAD_OPERATION if the passed Any does not contain int.
+   */
+  public static int extract(Any any)
+  {
+    return any.extract_ulong();
+  }
+
+  /**
+   * Get the int repository id.
+   *
+   * @return "IDL:omg.org/CORBA/PolicyType:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/PolicyType:1.0";
+  }
+
+  /**
+   * Read the int (policy type) from the CDR intput stream.
+   *
+   * @param input a org.omg.CORBA.portable stream to read from.
+   */
+  public static int read(InputStream input)
+  {
+    return input.read_ulong();
+  }
+
+  /**
+   * Write the int (policy type) to the CDR output stream.
+   *
+   * @param output a org.omg.CORBA.portable stream stream to write into.
+   * @param value a value to write.
+   */
+  public static void write(OutputStream output, int value)
+  {
+    output.write_ulong(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Principal.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,89 @@
+/* Principal.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * This class was used to store the client identity in the past.
+ * The client identity is stored in the form of the <code>byte</code>
+ * array.
+ *
+ * @deprecated by CORBA 2.2.
+ *
+ * @author Audrius Meskauskas(AudriusA at Bioinformatics.org)
+ *
+ */
+public class Principal
+{
+  /**
+   * The field, holding the client identity.
+   */
+  private byte[] m_name;
+
+  /**
+   * @deprecated
+   */
+  public Principal()
+  {
+  }
+
+  /**
+   * Gets the name of the Principal.
+   *
+   * @deprecated by CORBA 2.2
+   *
+   * @return a name of the Pricipal.
+   */
+  public byte[] name()
+  {
+    /**@todo Override this org.omg.CORBA.Principal method*/
+    return m_name;
+  }
+
+  /**
+   * Sets the name of the Principal to the given value.
+   *
+   * @deprecated by CORBA 2.2
+   *
+   * @param a_name a value to set the name to.
+   */
+  public void name(byte[] a_name)
+  {
+    m_name = a_name;
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/PrincipalHolder.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,122 @@
+/* PrincipalHolder.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.typecodes.PrimitiveTypeCode;
+
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+import org.omg.CORBA.portable.Streamable;
+
+/**
+ * A holder for storing an instance of {@link Principal}.
+ *
+ * @deprecated by CORBA 2.2.
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public final class PrincipalHolder
+  implements Streamable
+{
+  /**
+   * The default type code for this holder.
+   */
+  private static final TypeCode t_any =
+    new PrimitiveTypeCode(TCKind.tk_Principal);
+
+  /**
+   * The instance of {@link Principal}, held by this holder.
+   */
+  public Principal value;
+
+  /**
+   * Constructs an instance of PrincipalHolder,
+   * initializing {@link #value} to <code>null</code>.
+   */
+  public PrincipalHolder()
+  {
+  }
+
+  /**
+   * Constructs an instance of PrincipalHolder,
+   * initializing {@link #value} to the passed parameter.
+   *
+   * @param initial_value a value that will be assigned to the
+   * {@link #value} field.
+   */
+  public PrincipalHolder(Principal initial_value)
+  {
+    value = initial_value;
+  }
+
+  /**
+   * Fill in the {@link value } field by reading the required data
+   * from the given stream. For {@link Principal}, the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.InputStream#read_Principal}.
+   *
+   * @param input the input stream to read from.
+   */
+  public void _read(InputStream input)
+  {
+    value = input.read_Principal();
+  }
+
+  /**
+   * Returns the TypeCode, corresponding the CORBA type that is stored
+   * using this holder.
+   */
+  public TypeCode _type()
+  {
+    return t_any;
+  }
+
+  /**
+   * Write the {@link value } field to the given stream.
+   * For {@link Principal} the functionality
+   * is delegated to
+   * {@link org.omg.CORBA.portable.OutputStream#write_Principal(Principal)}
+   * .
+   * @param output the output stream to write into.
+   */
+  public void _write(OutputStream output)
+  {
+    output.write_Principal(value);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/REBIND.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,99 @@
+/* REBIND.java --
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import java.io.Serializable;
+
+/**
+ * Raised on the failure of the requested or implied attempt to
+ * rebind an object reference.
+ *
+ * @since 1.5
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class REBIND
+  extends SystemException
+  implements Serializable
+{
+  /**
+   * Use serialVersionUID (v1.5) for interoperability.
+   */
+  private static final long serialVersionUID = 823920851143467547L;
+
+  /**
+   * Creates REBIND with the default minor code of 0,
+   * completion state COMPLETED_NO and the given explaining message.
+   * @param message the explaining message.
+   */
+  public REBIND(String message)
+  {
+    super(message, 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /**
+   * Creates REBIND with the default minor code of 0 and a
+   * completion state COMPLETED_NO.
+   */
+  public REBIND()
+  {
+    super("", 0, CompletionStatus.COMPLETED_NO);
+  }
+
+  /** Creates a REBIND exception with the specified minor
+   * code and completion status.
+   * @param minor additional error code.
+   * @param completed the method completion status.
+   */
+  public REBIND(int minor, CompletionStatus completed)
+  {
+    super("", minor, completed);
+  }
+
+  /**
+   * Created REBIND exception, providing full information.
+   * @param reason explaining message.
+   * @param minor additional error code (the "minor").
+   * @param completed the method completion status.
+   */
+  public REBIND(String reason, int minor, CompletionStatus completed)
+  {
+    super(reason, minor, completed);
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,116 @@
+/* RepositoryIdHelper.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import gnu.CORBA.OrbRestricted;
+
+import org.omg.CORBA.Any;
+import org.omg.CORBA.ORB;
+import org.omg.CORBA.TypeCode;
+import org.omg.CORBA.portable.InputStream;
+import org.omg.CORBA.portable.OutputStream;
+
+/**
+ * A formal helper for the CORBA Repository Id that is identical to the
+ * narrow string.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class RepositoryIdHelper
+{
+  /**
+   * Insert the Repository Id into Any (uses {@link Any.insert_string}).
+   *
+   * @param a the Any to insert into.
+   * @param that the string to insert.
+   */
+  public static void insert(Any a, String that)
+  {
+    a.insert_string(that);
+  }
+
+  /**
+   * Extract the Repository Id from Any ((uses {@link Any.extract_string}).
+   *
+   * @param a the Any to extract from.
+   */
+  public static String extract(Any a)
+  {
+    return a.extract_string();
+  }
+
+  /**
+   * Return an string alias typecode, named "RepositoryId"
+   */
+  public static TypeCode type()
+  {
+    ORB orb = OrbRestricted.Singleton;
+    return orb.create_alias_tc(id(), "RepositoryId", orb.create_string_tc(0));
+  }
+
+  /**
+   * Return the Repository Id repository id.
+   * @return "IDL:omg.org/CORBA/RepositoryId:1.0", always.
+   */
+  public static String id()
+  {
+    return "IDL:omg.org/CORBA/RepositoryId:1.0";
+  }
+
+  /**
+   * Calls {@link InputStream#read_string()}.
+   *
+   * @param istream the stream to read from.
+   */
+  public static String read(InputStream istream)
+  {
+    return istream.read_string();
+  }
+
+  /**
+   * Calls {@link OutputStream#write_string()}.
+   *
+   * @param ostream the stream to write into.
+   * @param value the string (Repository Id) value to write.
+   */
+  public static void write(OutputStream ostream, String value)
+  {
+    ostream.write_string(value);
+  }
+}
\ No newline at end of file

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/Request.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,242 @@
+/* Request.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+
+/**
+ * An object, containing the information, needed to invoke the method of
+ * the local or remote CORBA object. The Request is used in 
+ * Dynamic Invocation Interface (DII) which allows dynamic creation of
+ * requests. 
+ *
+ * @author Audrius Meskauskas (AudriusA at Bioinformatics.org)
+ */
+public abstract class Request
+{
+  /**
+   * Add the named input parameter that passes value to
+   * the method being invoked. This is similar to the "passing by value"
+   * conception.
+   *
+   * The created parameter is returned allowing to set the value.
+   *
+   * @return the created parameter.
+   */
+  public abstract Any add_in_arg();
+
+  /**
+   * Add the input/output parameter that passes value both to and from
+   * the method being invoked. This is similar to the "passing by reference"
+   * conception.
+   *
+   * The created parameter is returned allowing to set the value.
+   *
+   * @return the created parameter.
+   */
+  public abstract Any add_inout_arg();
+
+  /**
+   * Add the named input parameter that passes value to
+   * the method being invoked. This is similar to the "passing by value"
+   * conception.
+   *
+   * The created parameter is returned allowing to set the value.
+   *
+   * @param name the parameter name.
+   *
+   * @return the created parameter.
+   */
+  public abstract Any add_named_in_arg(String name);
+
+  /**
+   * Add the named input/output parameter that passes value both to and from
+   * the method being invoked. This is similar to the "passing by reference"
+   * conception.
+   *
+   * The created parameter is returned allowing to set the value.
+   *
+   * @param name the parameter name.
+   *
+   * @return the created parameter.
+   */
+  public abstract Any add_named_inout_arg(String name);
+
+  /**
+   * Add the named output parameter that passes value from
+   * the method being invoked. Differently from the java
+   * language, the CORBA IDL method can return multiple values.
+   *
+   * The created parameter is returned allowing to set the value.
+   *
+   * @param name the parameter name.
+   *
+   * @return the created parameter.
+   */
+  public abstract Any add_named_out_arg(String name);
+
+  /**
+   * Add the output parameter that passes value from
+   * the method being invoked. Differently from the java
+   * language, the CORBA IDL method can return multiple values.
+   *
+   * The created parameter is returned allowing to set the value.
+   *
+   * @return the created parameter.
+   */
+  public abstract Any add_out_arg();
+
+  /**
+   * Return the list of all previously added parameters.
+   *
+   * @return the list of parameters.
+   */
+  public abstract NVList arguments();
+  
+  /**
+   * Get the context list object for this request.
+   * 
+   * @return a list of strings that must be resolved and sent with the 
+   * invocation.
+   */
+  public abstract ContextList contexts();
+
+  /**
+   * Get the context, previously set using {@link #cts(Context)}.
+   * The context contains the details about this request.
+   */
+  public abstract Context ctx();
+
+  /**
+   * Set the context that shuld be later returned by {@link #ctx()}.
+   * This context contains the details about this request.
+   *
+   * @param a_context a context to set.
+   */
+  public abstract void ctx(Context a_context);
+
+  /**
+   * Returns the container, eclosing an exception that the invoked method
+   * has thrown.
+   *
+   * @return the Environment object, containng the exception.
+   */
+  public abstract Environment env();
+
+  /**
+   * List the exceptions that may be thrown by the CORBA object method being
+   * invoked.
+   *
+   * @return the list of exceptions.
+   */
+  public abstract ExceptionList exceptions();
+
+  /**
+   * Allow to access the response that has been previously sent using
+   * {@link send_deferred()}.
+   *
+   * @throws WrongTransaction if the transaction scope mismatches.
+   */
+  public abstract void get_response()
+                             throws WrongTransaction;
+
+  /**
+   * Submit the request, suspending the current thread until the
+   * answer is received.
+   */
+  public abstract void invoke();
+
+  /**
+   * Get the name of the method being invoked.
+   *
+   * @return the name of the method being invoked.
+   */
+  public abstract String operation();
+
+  /**
+   * Check if the response is received to the request that was
+   * previously send using {@link send_deferred()}.
+   *
+   * @return true if the response has been already received, false otherwise.
+   */
+  public abstract boolean poll_response();
+
+  /**
+   * Get the value, returned by the method, together with its name.
+   *
+   * @return the value, returned by the method.
+   */
+  public abstract NamedValue result();
+
+  /**
+   * Get the value, returned by the method.
+   *
+   * @return the value, returned by the method.
+   */
+  public abstract Any return_value();
+
+  /**
+   * Send a request without suspending the current thread.
+   *
+   * Allow later check of the request status by {@link #poll_response()} and
+   * retrieving the results by {@link #get_response()}.
+   */
+  public abstract void send_deferred();
+
+  /**
+   * Send a request and forget about it, not waiting for a response.
+   * This can be done also for methods that normally are expected
+   * to return some values.
+   */
+  public abstract void send_oneway();
+
+  /**
+   * Set the return type.
+   *
+   * @param returns the type of the value, returned in response to this
+   * request.
+   */
+  public abstract void set_return_type(TypeCode returns);
+
+  /**
+   * Return the CORBA object on that the method would be invoked.
+   *
+   * @return the invocation target.
+   */
+  public abstract org.omg.CORBA.Object target();
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServerRequest.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,164 @@
+/* ServerRequest.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+/**
+ * This class was expected to be part of the dynamic skeleton interface,
+ * but it is almost never used in the code, generated by IDL to java compiler.
+ * The recent tendention is to skip the request step, reading the method
+ * arguments from the CDR input stream directly. The supplementing class
+ * {@link DynamicImplementation} has already been deprecated in java 1.2
+ * version.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public abstract class ServerRequest
+{
+  /**
+   * Get the context information.
+   */
+  public abstract Context ctx();
+
+  /**
+   * Should return the name of the operation (method) being invoked.
+   * Following the 1.4 specification, it does not, and must be overridden to
+   * get functionality.
+   *
+   * @return the name of the operation being invoked. The object attribute
+   * access operations are called _get_<attribute_name>
+   * and _set_<attribute_name>.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public String operation()
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Should specify the method parameter types and retrieve the
+   * values that must be passed to the method being called. Following
+   * the 1.4 specification, it does not, and must be overridden to
+   * get functionality.
+   *
+   * @param args the method parameters.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void arguments(NVList args)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Should specify the return value for the call. Following
+   * the 1.4 specification, it does not, and must be overridden to
+   * get functionality.
+   *
+   * @param result the return value.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void set_result(Any result)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * Should set the exception that has been thrown during
+   * the method invocation. Following the 1.4 specification, it does not,
+   * and must be overridden to get functionality.
+   *
+   * @param exc the Any, holding the exception.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void set_exception(Any exc)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * This method is deprecated, {@link #set_result} (same parameter).
+   *
+   * @deprecated since 1.2
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void result(Any r)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * This method is deprecated, use {@link #set_exception} (same parameter).
+   *
+   * @deprecated since 1.2.
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void except(Any exc)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * This method is deprecated, use {@link #arguments} (same parameter).
+   *
+   * @deprecated since 1.2
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public void params(NVList args)
+  {
+    throw new NO_IMPLEMENT();
+  }
+
+  /**
+   * This method is deprecated, use {@link #operation} (same parameter).
+   *
+   * @deprecated since 1.2
+   *
+   * @throws NO_IMPLEMENT, always.
+   */
+  public String op_name()
+  {
+    throw new NO_IMPLEMENT();
+  }
+}

Added: llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java?rev=43913&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java (added)
+++ llvm-gcc-4.2/trunk/libjava/classpath/org/omg/CORBA/ServiceDetail.java Thu Nov  8 16:56:19 2007
@@ -0,0 +1,81 @@
+/* ServiceDetail.java --
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package org.omg.CORBA;
+
+import org.omg.CORBA.portable.IDLEntity;
+
+/**
+ * An object, representing one of the additional details about the
+ * particular ORB service.
+ *
+ * @author Audrius Meskauskas, Lithuania (AudriusA at Bioinformatics.org)
+ */
+public final class ServiceDetail
+  implements IDLEntity
+{
+  /**
+   * The type of the information, defined by this detail.
+   */
+  public int service_detail_type;
+
+  /**
+   * The binary data, defining the information.
+   */
+  public byte[] service_detail;
+
+  /**
+   * Create an unitialised instance.
+   */
+  public ServiceDetail()
+  {
+  }
+
+  /**
+   * Create the instance of the service detail, initialising its fields
+   * to the given values.
+   *
+   * @param _service_detail_type the service detail type.
+   * @param _service_detail the service detail.
+   */
+  public ServiceDetail(int _service_detail_type, byte[] _service_detail)
+  {
+    service_detail_type = _service_detail_type;
+    service_detail = _service_detail;
+  }
+}





More information about the llvm-commits mailing list