#
# Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code 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
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

SUNWprivate_1.1 {
	global:
                Java_java_nio_MappedByteBuffer_force0;
                Java_java_nio_MappedByteBuffer_isLoaded0;
                Java_java_nio_MappedByteBuffer_load0;
                Java_sun_nio_ch_DatagramChannelImpl_disconnect0;
                Java_sun_nio_ch_DatagramChannelImpl_initIDs;
                Java_sun_nio_ch_DatagramChannelImpl_receive0;
                Java_sun_nio_ch_DatagramChannelImpl_send0;
                Java_sun_nio_ch_DatagramDispatcher_read0;
                Java_sun_nio_ch_DatagramDispatcher_readv0;
                Java_sun_nio_ch_DatagramDispatcher_write0;
                Java_sun_nio_ch_DatagramDispatcher_writev0;
                Java_sun_nio_ch_EPollArrayWrapper_epollCreate;
                Java_sun_nio_ch_EPollArrayWrapper_epollCtl;
                Java_sun_nio_ch_EPollArrayWrapper_epollWait;
		Java_sun_nio_ch_EPollArrayWrapper_init;
		Java_sun_nio_ch_EPollArrayWrapper_interrupt;
		Java_sun_nio_ch_EPollArrayWrapper_offsetofData;
		Java_sun_nio_ch_EPollArrayWrapper_sizeofEPollEvent;
		Java_sun_nio_ch_EPoll_eventSize;
		Java_sun_nio_ch_EPoll_eventsOffset;
		Java_sun_nio_ch_EPoll_dataOffset;
		Java_sun_nio_ch_EPoll_epollCreate;
		Java_sun_nio_ch_EPoll_epollCtl;
		Java_sun_nio_ch_EPoll_epollWait;
		Java_sun_nio_ch_EPollPort_close0;
		Java_sun_nio_ch_EPollPort_drain1;
		Java_sun_nio_ch_EPollPort_interrupt;
		Java_sun_nio_ch_EPollPort_socketpair;
                Java_sun_nio_ch_FileChannelImpl_close0;
                Java_sun_nio_ch_FileChannelImpl_initIDs;
                Java_sun_nio_ch_FileChannelImpl_map0;
                Java_sun_nio_ch_FileChannelImpl_position0;
                Java_sun_nio_ch_FileChannelImpl_transferTo0;
                Java_sun_nio_ch_FileChannelImpl_unmap0;
                Java_sun_nio_ch_FileDispatcherImpl_close0;
                Java_sun_nio_ch_FileDispatcherImpl_closeIntFD;
		Java_sun_nio_ch_FileDispatcherImpl_force0;
                Java_sun_nio_ch_FileDispatcherImpl_init;
		Java_sun_nio_ch_FileDispatcherImpl_lock0;
                Java_sun_nio_ch_FileDispatcherImpl_preClose0;
                Java_sun_nio_ch_FileDispatcherImpl_pread0;
                Java_sun_nio_ch_FileDispatcherImpl_pwrite0;
                Java_sun_nio_ch_FileDispatcherImpl_read0;
                Java_sun_nio_ch_FileDispatcherImpl_readv0;
		Java_sun_nio_ch_FileDispatcherImpl_release0;
		Java_sun_nio_ch_FileDispatcherImpl_size0;
		Java_sun_nio_ch_FileDispatcherImpl_truncate0;
                Java_sun_nio_ch_FileDispatcherImpl_write0;
                Java_sun_nio_ch_FileDispatcherImpl_writev0;
                Java_sun_nio_ch_FileKey_init;
                Java_sun_nio_ch_FileKey_initIDs;
		Java_sun_nio_ch_InheritedChannel_close0;
		Java_sun_nio_ch_InheritedChannel_dup;
		Java_sun_nio_ch_InheritedChannel_dup2;
		Java_sun_nio_ch_InheritedChannel_open0;
		Java_sun_nio_ch_InheritedChannel_peerAddress0;
		Java_sun_nio_ch_InheritedChannel_peerPort0;
		Java_sun_nio_ch_InheritedChannel_soType0;
                Java_sun_nio_ch_IOUtil_configureBlocking;
                Java_sun_nio_ch_IOUtil_drain;
                Java_sun_nio_ch_IOUtil_fdVal;
		Java_sun_nio_ch_IOUtil_fdLimit;
                Java_sun_nio_ch_IOUtil_initIDs;
		Java_sun_nio_ch_IOUtil_iovMax;
                Java_sun_nio_ch_IOUtil_makePipe;
                Java_sun_nio_ch_IOUtil_randomBytes;
                Java_sun_nio_ch_IOUtil_setfdVal;
		Java_sun_nio_ch_NativeThread_current;
		Java_sun_nio_ch_NativeThread_init;
		Java_sun_nio_ch_NativeThread_signal;
		Java_sun_nio_ch_Net_canIPv6SocketJoinIPv4Group0;
		Java_sun_nio_ch_Net_canJoin6WithIPv4Group0;
		Java_sun_nio_ch_Net_socket0;
		Java_sun_nio_ch_Net_bind0;
		Java_sun_nio_ch_Net_connect0;
		Java_sun_nio_ch_Net_listen;
		Java_sun_nio_ch_Net_localPort;
		Java_sun_nio_ch_Net_localInetAddress;
		Java_sun_nio_ch_Net_getIntOption0;
		Java_sun_nio_ch_Net_setIntOption0;
                Java_sun_nio_ch_Net_initIDs;
		Java_sun_nio_ch_Net_isIPv6Available0;
		Java_sun_nio_ch_Net_joinOrDrop4;
		Java_sun_nio_ch_Net_blockOrUnblock4;
		Java_sun_nio_ch_Net_joinOrDrop6;
		Java_sun_nio_ch_Net_blockOrUnblock6;
		Java_sun_nio_ch_Net_setInterface4;
		Java_sun_nio_ch_Net_getInterface4;
		Java_sun_nio_ch_Net_setInterface6;
		Java_sun_nio_ch_Net_getInterface6;
		Java_sun_nio_ch_Net_shutdown;
		Java_sun_nio_ch_Net_poll;
		Java_sun_nio_ch_Net_pollinValue;
		Java_sun_nio_ch_Net_polloutValue;
		Java_sun_nio_ch_Net_pollerrValue;
		Java_sun_nio_ch_Net_pollhupValue;
		Java_sun_nio_ch_Net_pollnvalValue;
		Java_sun_nio_ch_Net_pollconnValue;
                Java_sun_nio_ch_Net_isExclusiveBindAvailable;
                Java_sun_nio_ch_PollArrayWrapper_interrupt;
                Java_sun_nio_ch_PollArrayWrapper_poll0;
                Java_sun_nio_ch_ServerSocketChannelImpl_accept0;
                Java_sun_nio_ch_ServerSocketChannelImpl_initIDs;
                Java_sun_nio_ch_SocketChannelImpl_checkConnect;
		Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData;
		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
		Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
		Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio;
		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio;
		Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs;
		Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGnomeVfs;
		Java_sun_nio_fs_MagicFileTypeDetector_initialize0;
		Java_sun_nio_fs_MagicFileTypeDetector_probe0;
		Java_sun_nio_fs_LinuxWatchService_eventSize;
		Java_sun_nio_fs_LinuxWatchService_eventOffsets;
		Java_sun_nio_fs_LinuxWatchService_inotifyInit;
		Java_sun_nio_fs_LinuxWatchService_inotifyAddWatch;
		Java_sun_nio_fs_LinuxWatchService_inotifyRmWatch;
		Java_sun_nio_fs_LinuxWatchService_configureBlocking;
		Java_sun_nio_fs_LinuxWatchService_socketpair;
		Java_sun_nio_fs_LinuxWatchService_poll;
		Java_sun_nio_fs_LinuxNativeDispatcher_init;
		Java_sun_nio_fs_LinuxNativeDispatcher_fgetxattr0;
		Java_sun_nio_fs_LinuxNativeDispatcher_flistxattr;
		Java_sun_nio_fs_LinuxNativeDispatcher_fsetxattr0;
		Java_sun_nio_fs_LinuxNativeDispatcher_fremovexattr0;
		Java_sun_nio_fs_LinuxNativeDispatcher_setmntent0;
                Java_sun_nio_fs_LinuxNativeDispatcher_getmntent;
		Java_sun_nio_fs_LinuxNativeDispatcher_endmntent;
		Java_sun_nio_fs_UnixNativeDispatcher_init;
		Java_sun_nio_fs_UnixNativeDispatcher_getcwd;
		Java_sun_nio_fs_UnixNativeDispatcher_strerror;
		Java_sun_nio_fs_UnixNativeDispatcher_dup;
		Java_sun_nio_fs_UnixNativeDispatcher_access0;
		Java_sun_nio_fs_UnixNativeDispatcher_stat0;
		Java_sun_nio_fs_UnixNativeDispatcher_lstat0;
		Java_sun_nio_fs_UnixNativeDispatcher_fstat;
		Java_sun_nio_fs_UnixNativeDispatcher_fstatat0;
		Java_sun_nio_fs_UnixNativeDispatcher_chmod0;
		Java_sun_nio_fs_UnixNativeDispatcher_fchmod;
		Java_sun_nio_fs_UnixNativeDispatcher_chown0;
		Java_sun_nio_fs_UnixNativeDispatcher_lchown0;
		Java_sun_nio_fs_UnixNativeDispatcher_fchown;
		Java_sun_nio_fs_UnixNativeDispatcher_utimes0;
		Java_sun_nio_fs_UnixNativeDispatcher_futimes;
		Java_sun_nio_fs_UnixNativeDispatcher_open0;
		Java_sun_nio_fs_UnixNativeDispatcher_openat0;
		Java_sun_nio_fs_UnixNativeDispatcher_close;
		Java_sun_nio_fs_UnixNativeDispatcher_read;
		Java_sun_nio_fs_UnixNativeDispatcher_write;
		Java_sun_nio_fs_UnixNativeDispatcher_fopen0;
		Java_sun_nio_fs_UnixNativeDispatcher_fclose;
		Java_sun_nio_fs_UnixNativeDispatcher_opendir0;
		Java_sun_nio_fs_UnixNativeDispatcher_fdopendir;
		Java_sun_nio_fs_UnixNativeDispatcher_readdir;
		Java_sun_nio_fs_UnixNativeDispatcher_closedir;
		Java_sun_nio_fs_UnixNativeDispatcher_link0;
		Java_sun_nio_fs_UnixNativeDispatcher_unlink0;
		Java_sun_nio_fs_UnixNativeDispatcher_unlinkat0;
		Java_sun_nio_fs_UnixNativeDispatcher_rename0;
		Java_sun_nio_fs_UnixNativeDispatcher_renameat0;
		Java_sun_nio_fs_UnixNativeDispatcher_mkdir0;
		Java_sun_nio_fs_UnixNativeDispatcher_rmdir0;
		Java_sun_nio_fs_UnixNativeDispatcher_symlink0;
		Java_sun_nio_fs_UnixNativeDispatcher_readlink0;
		Java_sun_nio_fs_UnixNativeDispatcher_realpath0;
		Java_sun_nio_fs_UnixNativeDispatcher_statvfs0;
		Java_sun_nio_fs_UnixNativeDispatcher_pathconf0;
		Java_sun_nio_fs_UnixNativeDispatcher_fpathconf;
		Java_sun_nio_fs_UnixNativeDispatcher_mknod0;
		Java_sun_nio_fs_UnixNativeDispatcher_getpwuid;
		Java_sun_nio_fs_UnixNativeDispatcher_getgrgid;
		Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0;
		Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0;
		Java_sun_nio_fs_UnixCopyFile_transfer;
		handleSocketError;

	local:
		*;
};
