You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ge...@apache.org on 2005/12/01 07:04:00 UTC
svn commit: r350181 [192/198] - in
/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core: ./ depends/
depends/files/ depends/jars/ depends/libs/ depends/libs/linux.IA32/
depends/libs/win.IA32/ depends/oss/ depends/oss/linux.IA32/
depends/oss/win....
Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/port/portpriv.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/port/portpriv.h?rev=350181&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/port/portpriv.h (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/port/portpriv.h Wed Nov 30 21:29:27 2005
@@ -0,0 +1,1336 @@
+/* Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(portlibraryprivatedefines_h)
+#define portlibraryprivatedefines_h
+
+#include "hycomp.h"
+#include "hyportpg.h"
+#include "hyportptb.h"
+#include "hyport.h"
+#include "hymutex.h"
+
+/* The following defines are used by hyshmem and hyshsem */
+#define HYSH_MAXPATH HyMaxPath
+#define HyVersionMajor 0
+#define HyVersionMinor 1
+#define HYSH_VERSION (HyVersionMajor*100 + HyVersionMinor)
+#define HYSH_MODLEVEL 1
+
+#define HYSH_ADDRMODE 32
+#define VERSION_STRING_SPEC "C%dD%dA%d"
+#define GET_VERSION_STRING(portLib, versionStr)\
+ portLib->str_printf(portLib, versionStr, 30, VERSION_STRING_SPEC,\
+ HYSH_VERSION, HYSH_MODLEVEL, HYSH_ADDRMODE)
+#define HYSH_DIRPERM (01777)
+#define HYSH_BASEFILEPERM (0640)
+
+/* Maximum id we should try when we do ftok */
+#define HYSH_MAX_PROJ_ID 20
+
+/*
+ * We are going to fix the "base directory", where all the token files are created.
+ * For Windows it does not need to be in a valid path, however on Unix it should
+ * be somewhere that is public and world writable.
+ * In future we may move it into a static variable of some sort, and changable at startup
+ */
+#if defined(WIN32)
+#define HYSH_BASEDIR "javasharedresources\\"
+#else
+#define HYSH_BASEDIR "/tmp/javasharedresources/"
+#endif
+/*end hyshsem and hyshmem common module */
+
+typedef struct HyPortControlData
+{
+ UDATA sig_flags;
+ UDATA shmem_group_perm;
+} HyPortControlData;
+
+#define HYSIZEOF_HyPortControlData 8
+
+typedef struct HyNLSDataCache
+{
+ char *baseCatalogPaths[4];
+ UDATA nPaths;
+ char *baseCatalogName;
+ char *baseCatalogExtension;
+ char *catalog;
+ char language[4];
+ char region[4];
+ char variant[32];
+ struct HyThreadMonitor *monitor;
+ struct HyNLSHashEntry *hash_buckets[256];
+ struct HyNLSHashEntry *old_hashEntries;
+} HyNLSDataCache;
+
+#define HYNLS_NUM_HASH_BUCKETS 0x100
+#define HYSIZEOF_HyNLSDataCache 1104
+
+typedef struct HyNLSHashEntry
+{
+ U_32 module_name;
+ U_32 message_num;
+ struct HyNLSHashEntry *next;
+ char message[8];
+} HyNLSHashEntry;
+
+#define HYSIZEOF_HyNLSHashEntry 20
+
+typedef struct HyPortLibraryGlobalData
+{
+ struct HyPortControlData control;
+ struct HyNLSDataCache nls_data;
+ hythread_tls_key_t tls_key;
+ MUTEX tls_mutex;
+ void *buffer_list;
+ struct HyPortPlatformGlobals platformGlobals;
+} HyPortLibraryGlobalData;
+
+#define HYSIZEOF_HyPortLibraryGlobalData sizeof(HyPortLibraryGlobalData)
+
+/* HySourceHyCPUControl*/
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hycpu_flush_icache
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *memoryPointer,
+ UDATA byteAmount));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hycpu_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hycpu_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyError*/
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hyerror_last_error_message
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyerror_set_last_error
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 platformCode,
+ I_32 portableCode));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyerror_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyerror_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyerror_set_last_error_with_message
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 portableCode,
+ const char *errorMessage));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyerror_last_error_number
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyErrorHelpers*/
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL errorMessage
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 errorCode));
+
+/* HySourceHyExit*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyexit_get_exit_code
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyexit_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyexit_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyexit_shutdown_and_exit
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 exitCode));
+
+/* HySourceHyFile*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_unlink
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_close
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_mkdir
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyfile_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_set_length
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, I_64 newLength));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_findnext
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA findhandle,
+ char *resultbuf));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_sync
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyfile_vprintf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, const char *format,
+ va_list args));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyfile_printf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, const char *format,
+ ...));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_unlinkdir
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyfile_open
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path, I_32 flags,
+ I_32 mode));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hyfile_findfirst
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path,
+ char *resultbuf));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_move
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *pathExist,
+ const char *pathNew));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyfile_attr
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyfile_findclose
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA findhandle));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyfile_read
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, void *buf,
+ IDATA nbytes));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyfile_write
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, const void *buf,
+ IDATA nbytes));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hyfile_error_message
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_64 VMCALL hyfile_seek
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, I_64 offset,
+ I_32 whence));
+struct HyPortLibrary;
+extern HY_CFUNC I_64 VMCALL hyfile_length
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path));
+struct HyPortLibrary;
+extern HY_CFUNC I_64 VMCALL hyfile_lastmod
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path));
+
+/* HySourceHyFileText*/
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyfile_write_text
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, const char *buf,
+ IDATA nbytes));
+struct HyPortLibrary;
+extern HY_CFUNC char *VMCALL hyfile_read_text
+PROTOTYPE ((struct HyPortLibrary * portLibrary, IDATA fd, char *buf,
+ IDATA nbytes));
+
+/* HySourceHyGP*/
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hygp_register_handler
+PROTOTYPE ((struct HyPortLibrary * portLibrary, handler_fn fn,
+ void *aUserData));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hygp_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hygp_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hygp_protect
+PROTOTYPE ((struct HyPortLibrary * portLibrary, protected_fn fn, void *arg));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hygp_info_count
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *info, U_32 category));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hygp_info
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *info, U_32 category,
+ I_32 index, const char **name, void **value));
+
+/* HySourceHyIPCMutex*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyipcmutex_release
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *name));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyipcmutex_acquire
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *name));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyipcmutex_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyipcmutex_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyMem*/
+extern HY_CFUNC void VMCALL hymem_deallocate_portLibrary
+PROTOTYPE ((void *memoryPointer));
+struct HyPortLibrary;
+extern HY_CFUNC void *VMCALL hymem_allocate_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA byteAmount));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hymem_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA portGlobalSize));
+extern HY_CFUNC void *VMCALL hymem_allocate_portLibrary
+PROTOTYPE ((UDATA byteAmount));
+struct HyPortLibrary;
+extern HY_CFUNC void *VMCALL hymem_reallocate_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *memoryPointer,
+ UDATA byteAmount));
+struct HyPortLibrary;
+extern HY_CFUNC void *VMCALL hymem_allocate_memory_callSite
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA byteAmount,
+ char *callSite));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hymem_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hymem_free_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *memoryPointer));
+
+/* HySourceHyMemoryMap*/
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hymmap_unmap_file
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *handle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hymmap_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hymmap_capabilities
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void *VMCALL hymmap_map_file
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *path,
+ void **handle));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hymmap_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyNLS*/
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hynls_get_language
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hynls_get_variant
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hynls_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hynls_vprintf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA flags, U_32 module_name,
+ U_32 message_num, va_list args));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hynls_set_catalog
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char **paths,
+ const int nPaths, const char *baseName, const char *extension));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hynls_set_locale
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *lang,
+ const char *region, const char *variant));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hynls_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hynls_printf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA flags, U_32 module_name,
+ U_32 message_num, ...));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hynls_lookup_message
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA flags, U_32 module_name,
+ U_32 message_num, const char *default_string));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hynls_get_region
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyNLSHelpers*/
+struct HyPortLibrary;
+extern HY_CFUNC void nls_determine_locale
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyOSDump*/
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hydump_create
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *filename,
+ char *dumpType, void *userData));
+
+/* HySourceHyPortControl*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_control
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *key, UDATA value));
+
+/* HySourceHyPortPerThreadBuffer*/
+
+/* HySourceHyPortTLSHelpers*/
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyport_tls_free
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_tls_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void *VMCALL hyport_tls_peek
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void *VMCALL hyport_tls_get
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyport_tls_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHySharedMemory*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyshmem_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyshmem_findnext
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA findhandle,
+ char *resultbuf));
+struct hyshmem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshmem_detach
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshmem_handle ** handle));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyshmem_findclose
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA findhandle));
+struct hyshmem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyshmem_close
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshmem_handle ** handle));
+struct HyPortLibrary;
+struct hyshmem_handle;
+extern HY_CFUNC void *VMCALL hyshmem_attach
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshmem_handle * handle));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hyshmem_findfirst
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *resultbuf));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyshmem_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortShmemStatistic;
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hyshmem_stat
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *name,
+ struct HyPortShmemStatistic * statbuf));
+struct hyshmem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshmem_destroy
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshmem_handle ** handle));
+struct hyshmem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshmem_open
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshmem_handle ** handle, const char *rootname, I_32 size,
+ I_32 perm));
+
+/* HySourceHySharedSemaphore*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyshsem_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+struct hyshsem_handle;
+extern HY_CFUNC void VMCALL hyshsem_close
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle ** handle));
+struct hyshsem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshsem_post
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle * handle, UDATA semset, UDATA flag));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyshsem_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+struct hyshsem_handle;
+extern HY_CFUNC IDATA VMCALL hyshsem_destroy
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle ** handle));
+struct hyshsem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshsem_setVal
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle * handle, UDATA semset, IDATA value));
+struct hyshsem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshsem_open
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle ** handle, const char *semname, int setSize,
+ int permission));
+struct hyshsem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshsem_getVal
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle * handle, UDATA semset));
+struct hyshsem_handle;
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hyshsem_wait
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyshsem_handle * handle, UDATA semset, UDATA flag));
+
+/* HySourceHySI*/
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hysysinfo_get_executable_name
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *argv0, char **result));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hysysinfo_get_OS_type
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC U_64 VMCALL hysysinfo_get_physical_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysysinfo_DLPAR_max_CPUs
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysysinfo_get_number_CPUs
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hysysinfo_get_CPU_architecture
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysysinfo_get_processing_capacity
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hysysinfo_get_OS_version
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysysinfo_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysysinfo_DLPAR_enabled
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hysysinfo_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysysinfo_get_pid
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC U_16 VMCALL hysysinfo_get_classpathSeparator
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hysysinfo_get_username
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *buffer, UDATA length));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysysinfo_weak_memory_consistency
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hysysinfo_get_env
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *envVar,
+ char *infoString, UDATA bufSize));
+
+/* HySourceHySignal*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysig_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hysig_get_options
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysig_can_protect
+PROTOTYPE ((struct HyPortLibrary * portLibrary, U_32 flags));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hysig_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hysig_info_count
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *info, U_32 category));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysig_set_options
+PROTOTYPE ((struct HyPortLibrary * portLibrary, U_32 options));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysig_protect
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysig_protected_fn fn,
+ void *fn_arg, hysig_handler_fn handler, void *handler_arg,
+ U_32 flags, UDATA * result));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hysig_set_async_signal_handler
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysig_handler_fn handler,
+ void *handler_arg, U_32 flags));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hysig_info
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *info, U_32 category,
+ I_32 index, const char **name, void **value));
+
+/* HySourceHySL*/
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysl_lookup_name
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA descriptor, char *name,
+ UDATA * func, const char *argSignature));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysl_close_shared_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA descriptor));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysl_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hysl_open_shared_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *name,
+ UDATA * descriptor, BOOLEAN decorate));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hysl_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyStr*/
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hystr_vprintf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *buf, U_32 bufLen,
+ const char *format, va_list args));
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hystr_printf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *buf, U_32 bufLen,
+ const char *format, ...));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hystr_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hystr_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyStrFTime*/
+struct HyPortLibrary;
+extern HY_CFUNC U_32 VMCALL hystrftime
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *buf, U_32 bufLen,
+ const char *format));
+
+/* HySourceHyTime*/
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hytime_usec_clock
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC U_64 VMCALL hytime_hires_clock
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC U_64 VMCALL hytime_hires_delta
+PROTOTYPE ((struct HyPortLibrary * portLibrary, U_64 startTime, U_64 endTime,
+ UDATA requiredResolution));
+struct HyPortLibrary;
+extern HY_CFUNC U_64 VMCALL hytime_hires_frequency
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hytime_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_64 VMCALL hytime_current_time_millis
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hytime_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL hytime_msec_clock
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourceHyTTY*/
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hytty_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hytty_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hytty_err_printf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *format, ...));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hytty_get_chars
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *s, UDATA length));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hytty_printf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *format, ...));
+struct HyPortLibrary;
+extern HY_CFUNC IDATA VMCALL hytty_available
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hytty_vprintf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *format,
+ va_list args));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hytty_err_vprintf
+PROTOTYPE ((struct HyPortLibrary * portLibrary, const char *format,
+ va_list args));
+
+/* HySourceHyVMem*/
+struct HyPortLibrary;
+struct HyPortVmemIdentifier;
+extern HY_CFUNC void *VMCALL hyvmem_commit_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *address,
+ UDATA byteAmount, struct HyPortVmemIdentifier * identifier));
+struct HyPortLibrary;
+struct HyPortVmemIdentifier;
+extern HY_CFUNC IDATA VMCALL hyvmem_decommit_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *address,
+ UDATA byteAmount, struct HyPortVmemIdentifier * identifier));
+struct HyPortLibrary;
+struct HyPortVmemIdentifier;
+extern HY_CFUNC void *VMCALL hyvmem_reserve_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *address,
+ UDATA byteAmount, struct HyPortVmemIdentifier * identifier,
+ UDATA mode, UDATA pageSize));
+struct HyPortLibrary;
+extern HY_CFUNC void VMCALL hyvmem_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA *VMCALL hyvmem_supported_page_sizes
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+struct HyPortVmemIdentifier;
+extern HY_CFUNC I_32 VMCALL hyvmem_free_memory
+PROTOTYPE ((struct HyPortLibrary * portLibrary, void *address,
+ UDATA byteAmount, struct HyPortVmemIdentifier * identifier));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyvmem_startup
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+
+/* HySourcePort*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_shutdown_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibraryVersion;
+extern HY_CFUNC UDATA VMCALL hyport_getSize
+PROTOTYPE ((struct HyPortLibraryVersion * version));
+struct HyPortLibraryVersion;
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_getVersion
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct HyPortLibraryVersion * version));
+struct HyPortLibraryVersion;
+extern HY_CFUNC I_32 VMCALL hyport_isCompatible
+PROTOTYPE ((struct HyPortLibraryVersion * expectedVersion));
+struct HyPortLibraryVersion;
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_allocate_library
+PROTOTYPE ((struct HyPortLibraryVersion * version,
+ struct HyPortLibrary ** portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_isFunctionOverridden
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA offset));
+struct HyPortLibraryVersion;
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_init_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct HyPortLibraryVersion * version, UDATA size));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_startup_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibraryVersion;
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hyport_create_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct HyPortLibraryVersion * version, UDATA size));
+
+/* HySourceSockets*/
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_hostent_addrlist
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyhostent_t handle,
+ U_32 index));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_getaddrinfo
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *name,
+ hyaddrinfo_t hints, hyaddrinfo_t result));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_setopt_int
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, I_32 * optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_shutdown
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_hostent_aliaslist
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyhostent_t handle,
+ char ***aliasList));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_fdset_init
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_getaddrinfo_create_hints
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyaddrinfo_t * result,
+ I_16 family, I_32 socktype, I_32 protocol, I_32 flags));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_connect_with_timeout
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock,
+ hysockaddr_t addr, U_32 timeout, U_32 step, U_8 ** context));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_getpeername
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t handle,
+ hysockaddr_t addrHandle));
+struct HyPortLibrary;
+extern HY_CFUNC const char *VMCALL hysock_error_message
+PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_getnameinfo
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t in_addr,
+ I_32 sockaddr_size, char *name, I_32 name_length, int flags));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL hysock_setopt_ipv6_mreq
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, hyipv6_mreq_t optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_inetaddr
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *addrStr, U_32 * addr));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_bind
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock,
+ hysockaddr_t addr));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_connect
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock,
+ hysockaddr_t addr));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_listen
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock,
+ I_32 backlog));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_setopt_bool
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, BOOLEAN * optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_readfrom
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock, U_8 * buf,
+ I_32 nbyte, I_32 flags, hysockaddr_t addrHandle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getopt_bool
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, BOOLEAN * optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_fdset_size
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_setopt_ipmreq
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, hyipmreq_t optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_writeto
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock, U_8 * buf,
+ I_32 nbyte, I_32 flags, hysockaddr_t addrHandle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_linger_init
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hylinger_t handle,
+ I_32 enabled, U_16 timeout));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_select_read
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t hysocketP,
+ I_32 secTime, I_32 uSecTime, BOOLEAN accept));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_sockaddr
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t handle,
+ char *addrStr, U_16 port));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_gethostbyaddr
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *addr, I_32 length,
+ I_32 type, hyhostent_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_inetntoa
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char **addrStr,
+ U_32 nipAddr));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_linger_enabled
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hylinger_t handle,
+ BOOLEAN * enabled));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_select
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 nfds, hyfdset_t readfds,
+ hyfdset_t writefds, hyfdset_t exceptfds, hytimeval_t timeout));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_startup PROTOTYPE ((struct HyPortLibrary * portLibrary));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_linger_linger
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hylinger_t handle,
+ U_16 * linger));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getaddrinfo_name
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyaddrinfo_t handle,
+ char *name, int index));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_sockaddr_address
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_sockaddr_address6
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t handle,
+ U_8 * address, U_32 * length, U_32 * scope_id));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_write
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock, U_8 * buf,
+ I_32 nbyte, I_32 flags));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_shutdown_input
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock));
+struct hyNetworkInterfaceArray_struct;
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_free_network_interface_struct
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyNetworkInterfaceArray_struct * array));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_read
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock, U_8 * buf,
+ I_32 nbyte, I_32 flags));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_socket
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t * handle,
+ I_32 family, I_32 socktype, I_32 protocol));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_close
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t * sock));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_gethostname
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *buffer, I_32 length));
+struct HyPortLibrary;
+extern HY_CFUNC U_16 VMCALL
+ hysock_sockaddr_port
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_gethostbyname
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *name,
+ hyhostent_t handle));
+struct HyPortLibrary;
+struct hyNetworkInterfaceArray_struct;
+extern HY_CFUNC I_32 VMCALL
+ hysock_get_network_interfaces
+PROTOTYPE ((struct HyPortLibrary * portLibrary,
+ struct hyNetworkInterfaceArray_struct * array,
+ BOOLEAN preferIPv4Stack));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getaddrinfo_length
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyaddrinfo_t handle,
+ I_32 * length));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_ipv6_mreq_init
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyipv6_mreq_t handle,
+ U_8 * ipmcast_addr, U_32 ipv6mr_interface));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_htonl PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 val));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getsockname
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t handle,
+ hysockaddr_t addrHandle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_freeaddrinfo
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyaddrinfo_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC U_16 VMCALL
+ hysock_htons PROTOTYPE ((struct HyPortLibrary * portLibrary, U_16 val));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_sockaddr_init
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t handle,
+ I_16 family, U_32 nipAddr, U_16 nPort));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getaddrinfo_address
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyaddrinfo_t handle,
+ U_8 * address, int index, U_32 * scope_id));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_socketIsValid
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC U_16 VMCALL
+ hysock_ntohs PROTOTYPE ((struct HyPortLibrary * portLibrary, U_16 val));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_ntohl PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 val));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_sockaddr_init6
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysockaddr_t handle,
+ U_8 * addr, I_32 addrlength, I_16 family, U_16 nPort,
+ U_32 flowinfo, U_32 scope_id, hysocket_t sock));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getaddrinfo_family
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyaddrinfo_t handle,
+ I_32 * family, int index));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_setopt_sockaddr
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, hysockaddr_t optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_setopt_linger
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, hylinger_t optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getopt_linger
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, hylinger_t optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getopt_sockaddr
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, hysockaddr_t optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_setflag
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_32 flag, I_32 * arg));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_shutdown_output
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t sock));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_hostent_hostname
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyhostent_t handle,
+ char **hostName));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_accept
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t serverSock,
+ hysockaddr_t addrHandle, hysocket_t * sockHandle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_sockaddr_family
+PROTOTYPE ((struct HyPortLibrary * portLibrary, I_16 * family,
+ hysockaddr_t handle));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_ipmreq_init
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hyipmreq_t handle,
+ U_32 nipmcast, U_32 nipinterface));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_timeval_init
+PROTOTYPE ((struct HyPortLibrary * portLibrary, U_32 secTime, U_32 uSecTime,
+ hytimeval_t timeP));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_set_nonblocking
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ BOOLEAN nonblocking));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getopt_int
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, I_32 * optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_setopt_byte
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, U_8 * optval));
+struct HyPortLibrary;
+extern HY_CFUNC I_32 VMCALL
+ hysock_getopt_byte
+PROTOTYPE ((struct HyPortLibrary * portLibrary, hysocket_t socketP,
+ I_32 optlevel, I_32 optname, U_8 * optval));
+
+/* HySourceStaticSL*/
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL
+ hysl_up_open_shared_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *name,
+ UDATA * descriptor, BOOLEAN decorate));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL
+ hysl_split_close_shared_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA descriptor));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL
+ hysl_up_close_shared_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA descriptor));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL
+ hysl_split_open_shared_library
+PROTOTYPE ((struct HyPortLibrary * portLibrary, char *name,
+ UDATA * descriptor, BOOLEAN decorate));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL
+ hysl_split_lookup_name
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA descriptor, char *name,
+ UDATA * func, const char *argSignature));
+struct HyPortLibrary;
+extern HY_CFUNC UDATA VMCALL
+ hysl_up_lookup_name
+PROTOTYPE ((struct HyPortLibrary * portLibrary, UDATA descriptor, char *name,
+ UDATA * func, const char *argSignature));
+static HyPortLibrary MasterPortLibraryTable = {
+ {HYPORT_MAJOR_VERSION_NUMBER, HYPORT_MINOR_VERSION_NUMBER, 0, HYPORT_CAPABILITY_MASK}, /* portVersion */
+ NULL, /* portGlobals */
+ hyport_shutdown_library, /* port_shutdown_library */
+ hyport_isFunctionOverridden, /* port_isFunctionOverridden */
+ hyport_tls_free, /* port_tls_free */
+ hyerror_startup, /* error_startup */
+ hyerror_shutdown, /* error_shutdown */
+ hyerror_last_error_number, /* error_last_error_number */
+ hyerror_last_error_message, /* error_last_error_message */
+ hyerror_set_last_error, /* error_set_last_error */
+ hyerror_set_last_error_with_message, /* error_set_last_error_with_message */
+ hytime_startup, /* time_startup */
+ hytime_shutdown, /* time_shutdown */
+ hytime_msec_clock, /* time_msec_clock */
+ hytime_usec_clock, /* time_usec_clock */
+ hytime_current_time_millis, /* time_current_time_millis */
+ hytime_hires_clock, /* time_hires_clock */
+ hytime_hires_frequency, /* time_hires_frequency */
+ hytime_hires_delta, /* time_hires_delta */
+ hysysinfo_startup, /* sysinfo_startup */
+ hysysinfo_shutdown, /* sysinfo_shutdown */
+ hysysinfo_get_pid, /* sysinfo_get_pid */
+ hysysinfo_get_physical_memory, /* sysinfo_get_physical_memory */
+ hysysinfo_get_OS_version, /* sysinfo_get_OS_version */
+ hysysinfo_get_env, /* sysinfo_get_env */
+ hysysinfo_get_CPU_architecture, /* sysinfo_get_CPU_architecture */
+ hysysinfo_get_OS_type, /* sysinfo_get_OS_type */
+ hysysinfo_get_classpathSeparator, /* sysinfo_get_classpathSeparator */
+ hysysinfo_get_executable_name, /* sysinfo_get_executable_name */
+ hysysinfo_get_number_CPUs, /* sysinfo_get_number_CPUs */
+ hysysinfo_get_username, /* sysinfo_get_username */
+ hyfile_startup, /* file_startup */
+ hyfile_shutdown, /* file_shutdown */
+ hyfile_write, /* file_write */
+ hyfile_write_text, /* file_write_text */
+ hyfile_vprintf, /* file_vprintf */
+ hyfile_printf, /* file_printf */
+ hyfile_open, /* file_open */
+ hyfile_close, /* file_close */
+ hyfile_seek, /* file_seek */
+ hyfile_read, /* file_read */
+ hyfile_unlink, /* file_unlink */
+ hyfile_attr, /* file_attr */
+ hyfile_lastmod, /* file_lastmod */
+ hyfile_length, /* file_length */
+ hyfile_set_length, /* file_set_length */
+ hyfile_sync, /* file_sync */
+ hysl_startup, /* sl_startup */
+ hysl_shutdown, /* sl_shutdown */
+#if defined(HYVM_STATIC_LINKAGE)
+ hysl_split_close_shared_library, /* sl_close_shared_library */
+ hysl_split_open_shared_library, /* sl_open_shared_library */
+ hysl_split_lookup_name, /* sl_lookup_name */
+#else
+ hysl_close_shared_library, /* sl_close_shared_library */
+ hysl_open_shared_library, /* sl_open_shared_library */
+ hysl_lookup_name, /* sl_lookup_name */
+#endif /* HYVM_STATIC_LINKAGE */
+ hytty_startup, /* tty_startup */
+ hytty_shutdown, /* tty_shutdown */
+ hytty_printf, /* tty_printf */
+ hytty_vprintf, /* tty_vprintf */
+ hytty_get_chars, /* tty_get_chars */
+ hytty_err_printf, /* tty_err_printf */
+ hytty_err_vprintf, /* tty_err_vprintf */
+ hytty_available, /* tty_available */
+ hymem_startup, /* mem_startup */
+ hymem_shutdown, /* mem_shutdown */
+ hymem_allocate_memory, /* mem_allocate_memory */
+ hymem_allocate_memory_callSite, /* mem_allocate_memory_callSite */
+ hymem_free_memory, /* mem_free_memory */
+ hymem_reallocate_memory, /* mem_reallocate_memory */
+ hycpu_startup, /* cpu_startup */
+ hycpu_shutdown, /* cpu_shutdown */
+ hycpu_flush_icache, /* cpu_flush_icache */
+ hyvmem_startup, /* vmem_startup */
+ hyvmem_shutdown, /* vmem_shutdown */
+ hyvmem_commit_memory, /* vmem_commit_memory */
+ hyvmem_decommit_memory, /* vmem_decommit_memory */
+ hyvmem_free_memory, /* vmem_free_memory */
+ hyvmem_reserve_memory, /* vmem_reserve_memory */
+ hyvmem_supported_page_sizes, /* vmem_supported_page_sizes */
+ hysock_startup, /* sock_startup */
+ hysock_shutdown, /* sock_shutdown */
+ hysock_htons, /* sock_htons */
+ hysock_write, /* sock_write */
+ hysock_sockaddr, /* sock_sockaddr */
+ hysock_read, /* sock_read */
+ hysock_socket, /* sock_socket */
+ hysock_close, /* sock_close */
+ hysock_connect, /* sock_connect */
+ hysock_inetaddr, /* sock_inetaddr */
+ hysock_gethostbyname, /* sock_gethostbyname */
+ hysock_hostent_addrlist, /* sock_hostent_addrlist */
+ hysock_sockaddr_init, /* sock_sockaddr_init */
+ hysock_linger_init, /* sock_linger_init */
+ hysock_setopt_linger, /* sock_setopt_linger */
+ hygp_startup, /* gp_startup */
+ hygp_shutdown, /* gp_shutdown */
+ hygp_protect, /* gp_protect */
+ hygp_register_handler, /* gp_register_handler */
+ hygp_info, /* gp_info */
+ hygp_info_count, /* gp_info_count */
+ NULL, /* gp_handler_function DANGER: only initialized on SEH platforms, and is done in hygp.c */
+ hystr_startup, /* str_startup */
+ hystr_shutdown, /* str_shutdown */
+ hystr_printf, /* str_printf */
+ hystr_vprintf, /* str_vprintf */
+ hyexit_startup, /* exit_startup */
+ hyexit_shutdown, /* exit_shutdown */
+ hyexit_get_exit_code, /* exit_get_exit_code */
+ hyexit_shutdown_and_exit, /* exit_shutdown_and_exit */
+ NULL, /* self_handle */
+ hydump_create, /* dump_create */
+ hynls_startup, /* nls_startup */
+ hynls_shutdown, /* nls_shutdown */
+ hynls_set_catalog, /* nls_set_catalog */
+ hynls_set_locale, /* nls_set_locale */
+ hynls_get_language, /* nls_get_language */
+ hynls_get_region, /* nls_get_region */
+ hynls_get_variant, /* nls_get_variant */
+ hynls_printf, /* nls_printf */
+ hynls_vprintf, /* nls_vprintf */
+ hynls_lookup_message, /* nls_lookup_message */
+ hyipcmutex_startup, /* ipcmutex_startup */
+ hyipcmutex_shutdown, /* ipcmutex_shutdown */
+ hyipcmutex_acquire, /* ipcmutex_acquire */
+ hyipcmutex_release, /* ipcmutex_release */
+ hyport_control, /* port_control */
+ hysig_startup, /* sig_startup */
+ hysig_shutdown, /* sig_shutdown */
+ hysig_protect, /* sig_protect */
+ hysig_can_protect, /* sig_can_protect */
+ hysig_set_async_signal_handler, /* sig_set_async_signal_handler */
+ hysig_info, /* sig_info */
+ hysig_info_count, /* sig_info_count */
+ hysig_set_options, /* sig_set_options */
+ hysig_get_options, /* sig_get_options */
+ NULL, /* attached_thread */
+ hysysinfo_DLPAR_enabled, /* sysinfo_DLPAR_enabled */
+ hysysinfo_DLPAR_max_CPUs, /* sysinfo_DLPAR_max_CPUs */
+ hysysinfo_weak_memory_consistency, /* sysinfo_weak_memory_consistency */
+ hyfile_read_text, /* file_read_text */
+ hyfile_mkdir, /* file_mkdir */
+ hyfile_move, /* file_move */
+ hyfile_unlinkdir, /* file_unlinkdir */
+ hyfile_findfirst, /* file_findfirst */
+ hyfile_findnext, /* file_findnext */
+ hyfile_findclose, /* file_findclose */
+ hyfile_error_message, /* file_error_message */
+
+ hysock_htonl, /* sock_htonl */
+ hysock_bind, /* sock_bind */
+ hysock_accept, /* sock_accept */
+ hysock_shutdown_input, /* sock_shutdown_input */
+ hysock_shutdown_output, /* sock_shutdown_output */
+ hysock_listen, /* sock_listen */
+ hysock_ntohl, /* sock_ntohl */
+ hysock_ntohs, /* sock_ntohs */
+ hysock_getpeername, /* sock_getpeername */
+ hysock_getsockname, /* sock_getsockname */
+ hysock_readfrom, /* sock_readfrom */
+ hysock_select, /* sock_select */
+ hysock_writeto, /* sock_writeto */
+ hysock_inetntoa, /* sock_inetntoa */
+ hysock_gethostbyaddr, /* sock_gethostbyaddr */
+ hysock_gethostname, /* sock_gethostname */
+ hysock_hostent_aliaslist, /* sock_hostent_aliaslist */
+ hysock_hostent_hostname, /* sock_hostent_hostname */
+ hysock_sockaddr_port, /* sock_sockaddr_port */
+ hysock_sockaddr_address, /* sock_sockaddr_address */
+ hysock_fdset_init, /* sock_fdset_init */
+ hysock_fdset_size, /* sock_fdset_size */
+ hysock_timeval_init, /* sock_timeval_init */
+ hysock_getopt_int, /* sock_getopt_int */
+ hysock_setopt_int, /* sock_setopt_int */
+ hysock_getopt_bool, /* sock_getopt_bool */
+ hysock_setopt_bool, /* sock_setopt_bool */
+ hysock_getopt_byte, /* sock_getopt_byte */
+ hysock_setopt_byte, /* sock_setopt_byte */
+ hysock_getopt_linger, /* sock_getopt_linger */
+ hysock_getopt_sockaddr, /* sock_getopt_sockaddr */
+ hysock_setopt_sockaddr, /* sock_setopt_sockaddr */
+ hysock_setopt_ipmreq, /* sock_setopt_ipmreq */
+ hysock_linger_enabled, /* sock_linger_enabled */
+ hysock_linger_linger, /* sock_linger_linger */
+ hysock_ipmreq_init, /* sock_ipmreq_init */
+ hysock_setflag, /* sock_setflag */
+ hysock_freeaddrinfo, /* sock_freeaddrinfo */
+ hysock_getaddrinfo, /* sock_getaddrinfo */
+ hysock_getaddrinfo_address, /* sock_getaddrinfo_address */
+ hysock_getaddrinfo_create_hints, /* sock_getaddrinfo_create_hints */
+ hysock_getaddrinfo_family, /* sock_getaddrinfo_family */
+ hysock_getaddrinfo_length, /* sock_getaddrinfo_length */
+ hysock_getaddrinfo_name, /* sock_getaddrinfo_name */
+ hysock_getnameinfo, /* sock_getnameinfo */
+ hysock_ipv6_mreq_init, /* sock_ipv6_mreq_init */
+ hysock_setopt_ipv6_mreq, /* sock_setopt_ipv6_mreq */
+ hysock_sockaddr_address6, /* sock_sockaddr_address6 */
+ hysock_sockaddr_family, /* sock_sockaddr_family */
+ hysock_sockaddr_init6, /* sock_sockaddr_init6 */
+ hysock_socketIsValid, /* sock_socketIsValid */
+ hysock_select_read, /* sock_select_read */
+ hysock_set_nonblocking, /* sock_set_nonblocking */
+ hysock_error_message, /* sock_error_message */
+ hysock_get_network_interfaces, /* sock_get_network_interfaces */
+ hysock_free_network_interface_struct, /* sock_free_network_interface_struct */
+ hysock_connect_with_timeout, /* sock_connect_with_timeout */
+
+ hystrftime, /* str_ftime */
+ hymmap_startup, /* mmap_startup */
+ hymmap_shutdown, /* mmap_shutdown */
+ hymmap_capabilities, /* mmap_capabilities */
+ hymmap_map_file, /* mmap_map_file */
+ hymmap_unmap_file, /* mmap_unmap_file */
+ hyshsem_startup, /* shsem_startup */
+ hyshsem_shutdown, /* shsem_shutdown */
+ hyshsem_open, /* shsem_open */
+ hyshsem_post, /* shsem_post */
+ hyshsem_wait, /* shsem_wait */
+ hyshsem_getVal, /* shsem_getVal */
+ hyshsem_setVal, /* shsem_setVal */
+ hyshsem_close, /* shsem_close */
+ hyshsem_destroy, /* shsem_destroy */
+ hyshmem_startup, /* shmem_startup */
+ hyshmem_shutdown, /* shmem_shutdown */
+ hyshmem_open, /*shmem_open */
+ hyshmem_attach, /*shmem_attach */
+ hyshmem_detach, /*shmem_detach */
+ hyshmem_close, /*shmem_close */
+ hyshmem_destroy, /*shmem_destroy */
+ hyshmem_findfirst, /*shmem_findfirst */
+ hyshmem_findnext, /* shmem_findnext */
+ hyshmem_findclose, /* shmem_findclose */
+ hyshmem_stat, /* shmem_stat */
+ hysysinfo_get_processing_capacity, /* sysinfo_get_processing_capacity */
+};
+
+#endif /* portlibraryprivatedefines_h */