sSuffices
GUSISetupConfig
GUSISetupDevices
GUSISetupFactories
gusisioux_state
__vt__15GUSISIOUXDevice		# GUSISIOUXDevice::__vt
__vt__15GUSISIOUXSocket		# GUSISIOUXSocket::__vt
sInstance__15GUSISIOUXDevice		# GUSISIOUXDevice::sInstance
sInstance__15GUSISIOUXSocket		# GUSISIOUXSocket::sInstance
__dt__15GUSISIOUXDeviceFv		# GUSISIOUXDevice::~GUSISIOUXDevice()
GUSISetupConsoleDescriptors
open__15GUSISIOUXDeviceFR13GUSIFileTokeni		# GUSISIOUXDevice::open(GUSIFileToken&,int)
Want__15GUSISIOUXDeviceFR13GUSIFileToken		# GUSISIOUXDevice::Want(GUSIFileToken&)
__dt__10GUSIDeviceFv		# GUSIDevice::~GUSIDevice()
Instance__15GUSISIOUXDeviceFv		# GUSISIOUXDevice::Instance()
select__15GUSISIOUXSocketFPbPbPb		# GUSISIOUXSocket::select(bool*,bool*,bool*)
isatty__15GUSISIOUXSocketFv		# GUSISIOUXSocket::isatty()
fstat__15GUSISIOUXSocketFP4stat		# GUSISIOUXSocket::fstat(stat*)
ioctl__15GUSISIOUXSocketFUiPc		# GUSISIOUXSocket::ioctl(unsigned int,char*)
write__15GUSISIOUXSocketFRC12GUSIGatherer		# GUSISIOUXSocket::write(const GUSIGatherer&)
read__15GUSISIOUXSocketFRC13GUSIScatterer		# GUSISIOUXSocket::read(const GUSIScatterer&)
__dt__15GUSISIOUXSocketFv		# GUSISIOUXSocket::~GUSISIOUXSocket()
Initialize__15GUSISIOUXSocketFv		# GUSISIOUXSocket::Initialize()
__ct__15GUSISIOUXSocketFv		# GUSISIOUXSocket::GUSISIOUXSocket()
Instance__15GUSISIOUXSocketFv		# GUSISIOUXSocket::Instance()
_PyBuiltin_Init
_PyEval_SliceIndex
PyEval_CallObjectWithKeywords
PyEval_CallObject
Py_FlushLine
PyEval_GetRestricted
PyEval_GetFrame
PyEval_GetGlobals
PyEval_GetLocals
PyEval_GetBuiltins
PyEval_EvalCode
Py_SetRecursionLimit
Py_GetRecursionLimit
Py_MakePendingCalls
Py_AddPendingCall
PyEval_RestoreThread
PyEval_SaveThread
PyEval_ReInitThreads
PyEval_ReleaseThread
PyEval_AcquireThread
PyEval_ReleaseLock
PyEval_AcquireLock
PyEval_InitThreads
PyArg_GetFloatArray
PyArg_GetDoubleArray
PyArg_GetShortArray
PyArg_GetLongArray
PyArg_GetShortArraySize
PyArg_GetLongArraySize
PyArg_GetChar
PyArg_GetString
PyArg_GetFloat
PyArg_GetShort
PyArg_GetLong
PyArg_GetObject
PyErr_Warn
PyErr_WriteUnraisable
PyErr_NewException
PyErr_Format
PyErr_BadInternalCall
_PyErr_BadInternalCall
PyErr_SetFromErrno
PyErr_SetFromErrnoWithFilename
PyErr_NoMemory
PyErr_BadArgument
PyErr_Clear
PyErr_Fetch
PyErr_NormalizeException
PyErr_ExceptionMatches
PyErr_GivenExceptionMatches
PyErr_Occurred
PyErr_SetString
PyErr_SetNone
PyErr_SetObject
PyErr_Restore
PyImport_FrozenModules
PyArg_ParseTupleAndKeywords
PyArg_VaParse
PyArg_ParseTuple
PyArg_Parse
Py_GetCopyright
PyOS_GetLastModificationTime
_PyOS_opterr
_PyOS_optind
_PyOS_optarg
_PyOS_GetOpt
Py_GetVersion
_PyParser_Grammar
PyImport_Inittab
_PyImport_Filetab
PyImport_AppendInittab
PyImport_ExtendInittab
initimp
PyImport_Import
PyImport_ReloadModule
PyImport_ImportModuleEx
PyImport_ImportModule
PyImport_ImportFrozenModule
PyImport_ExecCodeModuleEx
PyImport_ExecCodeModule
PyImport_AddModule
_PyImport_FindExtension
_PyImport_FixupExtension
PyImport_GetMagicNumber
PyImport_Cleanup
PyImport_GetModuleDict
_PyImport_Fini
_PyImport_Init
_PyImport_LoadDynamicModule
PyMarshal_Init
PyMarshal_WriteObjectToString
PyMarshal_ReadObjectFromString
PyMarshal_ReadObjectFromFile
PyMarshal_ReadLastObjectFromFile
PyMarshal_ReadLongFromFile
PyMarshal_WriteObjectToFile
PyMarshal_WriteLongToFile
_Py_PackageContext
PyModule_AddStringConstant
PyModule_AddIntConstant
PyModule_AddObject
PyEval_CallMethod
PyEval_CallFunction
Py_VaBuildValue
Py_BuildValue
Py_InitModule4
PyOS_strtol
PyOS_strtoul
Py_UseClassExceptionsFlag
Py_DebugFlag
Py_VerboseFlag
Py_InteractiveFlag
Py_NoSiteFlag
Py_FrozenFlag
_PyThread_Started
Py_UnicodeFlag
PyOS_setsig
PyOS_getsig
Py_FdIsInteractive
Py_Exit
Py_AtExit
Py_FatalError
PyParser_SimpleParseString
PyParser_SimpleParseFile
Py_SymtableString
Py_CompileString
PyRun_FileEx
PyRun_File
PyRun_String
PyErr_PrintEx
PyErr_Print
PyRun_SimpleString
PyRun_SimpleFileEx
PyRun_SimpleFile
PyRun_InteractiveOne
PyRun_InteractiveLoop
PyRun_AnyFileEx
PyRun_AnyFile
Py_GetPythonHome
Py_SetPythonHome
Py_GetProgramName
Py_SetProgramName
Py_EndInterpreter
Py_NewInterpreter
Py_Finalize
Py_Initialize
Py_IsInitialized
_PyThreadState_Current
PyThreadState_GetDict
PyThreadState_Swap
PyThreadState_Get
PyThreadState_DeleteCurrent
PyThreadState_Delete
PyThreadState_Clear
PyThreadState_New
PyInterpreterState_Delete
PyInterpreterState_Clear
PyInterpreterState_New
PyMember_Set
PyMember_Get
PySys_WriteStderr
PySys_WriteStdout
PySys_SetArgv
PySys_SetPath
_PySys_Init
PySys_AddWarnOption
PySys_ResetWarnOptions
PySys_SetObject
PySys_GetFile
PySys_GetObject
PyTraceBack_Type
PyTraceBack_Print
PyTraceBack_Here
PyCode_Type
Py_OptimizeFlag
PySymtable_Free
PyCode_Addr2Line
PyNode_CompileSymtable
PyNode_Compile
is_free
PyCode_New
PyObject_CallMethod
PyObject_CallFunction
PyObject_CallObject
PyMapping_HasKey
PyMapping_HasKeyString
PyMapping_SetItemString
PyMapping_GetItemString
PyMapping_Length
PyMapping_Size
PyMapping_Check
PySequence_Index
PySequence_In
PySequence_Contains
PySequence_Count
PySequence_Fast
PySequence_List
PySequence_Tuple
PySequence_DelSlice
PySequence_SetSlice
PySequence_DelItem
PySequence_SetItem
PySequence_GetSlice
PySequence_GetItem
PySequence_InPlaceRepeat
PySequence_InPlaceConcat
PySequence_Repeat
PySequence_Concat
PySequence_Length
PySequence_Size
PySequence_Check
PyNumber_Float
PyNumber_Long
PyNumber_Int
PyNumber_Absolute
PyNumber_Invert
PyNumber_Positive
PyNumber_Negative
PyNumber_InPlacePower
PyNumber_InPlaceRemainder
PyNumber_InPlaceMultiply
PyNumber_InPlaceAdd
PyNumber_InPlaceDivide
PyNumber_InPlaceSubtract
PyNumber_InPlaceRshift
PyNumber_InPlaceLshift
PyNumber_InPlaceAnd
PyNumber_InPlaceXor
PyNumber_InPlaceOr
PyNumber_Power
PyNumber_Remainder
PyNumber_Add
PyNumber_Divmod
PyNumber_Divide
PyNumber_Multiply
PyNumber_Subtract
PyNumber_Rshift
PyNumber_Lshift
PyNumber_And
PyNumber_Xor
PyNumber_Or
PyNumber_Check
PyObject_AsWriteBuffer
PyObject_AsReadBuffer
PyObject_AsCharBuffer
PyObject_DelItem
PyObject_SetItem
PyObject_GetItem
PyObject_Length
PyObject_Size
PyObject_Type
PyObject_Cmp
PyClass_Type
PyInstance_Type
PyMethod_Type
PyMethod_Fini
PyMethod_Class
PyMethod_Self
PyMethod_Function
PyMethod_New
PyInstance_New
PyInstance_NewRaw
PyClass_IsSubclass
PyClass_New
PyCObject_Type
PyCObject_Import
PyCObject_GetDesc
PyCObject_AsVoidPtr
PyCObject_FromVoidPtrAndDesc
PyCObject_FromVoidPtr
PyComplex_Type
PyComplex_AsCComplex
PyComplex_ImagAsDouble
PyComplex_RealAsDouble
PyComplex_FromDoubles
PyComplex_FromCComplex
_Py_c_pow
_Py_c_quot
_Py_c_prod
_Py_c_neg
_Py_c_diff
_Py_c_sum
PyDict_Type
PyDict_DelItemString
PyDict_SetItemString
PyDict_GetItemString
PyDict_Items
PyDict_Values
PyDict_Keys
PyDict_Size
PyDict_Copy
PyDict_Next
PyDict_Clear
PyDict_DelItem
PyDict_SetItem
PyDict_GetItem
PyDict_New
PyFile_Type
PyObject_AsFileDescriptor
PyFile_WriteString
PyFile_WriteObject
PyFile_SoftSpace
PyFile_GetLine
_portable_ftell
_portable_fseek
PyFile_SetBufSize
PyFile_FromString
PyFile_FromFile
PyFile_Name
PyFile_AsFile
PyFloat_Type
PyFloat_Fini
PyFloat_AsString
PyFloat_AsStringEx
PyFloat_AsDouble
PyFloat_FromString
PyFloat_FromDouble
PyFrame_Type
PyFrame_Fini
PyFrame_LocalsToFast
PyFrame_FastToLocals
PyFrame_BlockPop
PyFrame_BlockSetup
PyFrame_New
PyFunction_Type
PyFunction_SetClosure
PyFunction_GetClosure
PyFunction_SetDefaults
PyFunction_GetDefaults
PyFunction_GetGlobals
PyFunction_GetCode
PyFunction_New
_Py_ZeroStruct
_Py_TrueStruct
PyInt_Type
PyInt_Fini
PyInt_FromUnicode
PyInt_FromString
PyInt_AsLong
PyInt_FromLong
PyInt_GetMax
PyList_Type
PyList_AsTuple
PyList_Reverse
PyList_Sort
PyList_SetSlice
PyList_GetSlice
PyList_Append
PyList_Insert
PyList_SetItem
PyList_GetItem
PyList_Size
PyList_New
PyLong_Type
PyLong_FromUnicode
PyLong_FromString
PyLong_AsVoidPtr
PyLong_FromVoidPtr
PyLong_AsDouble
PyLong_AsUnsignedLong
PyLong_AsLong
PyLong_FromDouble
PyLong_FromUnsignedLong
PyLong_FromLong
_PyLong_New
PyCFunction_Type
PyCFunction_Fini
Py_FindMethod
Py_FindMethodInChain
PyCFunction_GetFlags
PyCFunction_GetSelf
PyCFunction_GetFunction
PyCFunction_New
PyModule_Type
_PyModule_Clear
PyModule_GetFilename
PyModule_GetName
PyModule_GetDict
PyModule_New
_Py_NoneStruct
_Py_NotImplementedStruct
_Py_cobject_hack
_Py_abstract_hack
PyObject_ClearWeakRefs
_PyTrash_delete_later
_PyTrash_delete_nesting
_PyTrash_destroy_chain
_PyTrash_deposit_object
Py_ReprLeave
Py_ReprEnter
PyObject_Free
PyObject_Realloc
PyObject_Malloc
PyMem_Free
PyMem_Realloc
PyMem_Malloc
PyCallable_Check
PyNumber_Coerce
PyNumber_CoerceEx
PyObject_Not
PyObject_IsTrue
PyObject_SetAttr
PyObject_HasAttr
PyObject_GetAttr
PyObject_SetAttrString
PyObject_HasAttrString
PyObject_GetAttrString
PyObject_Hash
_Py_HashPointer
_Py_HashDouble
PyObject_RichCompareBool
PyObject_RichCompare
PyObject_Compare
PyObject_Unicode
PyObject_Str
PyObject_Repr
_PyObject_Dump
PyObject_Print
_PyGC_Remove
_PyGC_Insert
_PyObject_Del
_PyObject_NewVar
_PyObject_New
PyObject_InitVar
PyObject_Init
PyRange_Type
PyRange_New
_Py_EllipsisObject
PySlice_Type
PySlice_GetIndices
PySlice_New
PyString_Type
PyString_Fini
PyString_InternFromString
PyString_InternInPlace
PyString_Format
_PyString_FormatLong
_PyString_Resize
PyString_ConcatAndDel
PyString_Concat
PyString_AsStringAndSize
PyString_AsString
PyString_Size
PyString_AsEncodedString
PyString_Encode
PyString_Decode
PyString_FromString
PyString_FromStringAndSize
PyTuple_Type
PyTuple_Fini
_PyTuple_Resize
PyTuple_GetSlice
PyTuple_SetItem
PyTuple_GetItem
PyTuple_Size
PyTuple_New
PyType_Type
PyGrammar_RemoveAccelerators
PyGrammar_AddAccelerators
PyGrammar_LabelRepr
PyGrammar_FindDFA
PyOS_AfterFork
PyOS_ReadlineFunctionPointer
PyOS_InputHook
PyOS_Readline
PyOS_StdioReadline
PyNode_Free
PyNode_AddChild
PyNode_New
PyParser_AddToken
PyParser_Delete
PyParser_New
Py_TabcheckFlag
PyParser_ParseFile
PyParser_ParseString
_PyParser_TokenNames
PyTokenizer_Get
PyToken_ThreeChars
PyToken_TwoChars
PyToken_OneChar
PyTokenizer_Free
PyTokenizer_FromFile
PyTokenizer_FromString
array_methods
initarray
initaudioop
initbinascii
initcmath
initerrno
Py_GetBuildInfo
initimageop
initmath
_Py_MD5Final
_Py_MD5Update
_Py_MD5Init
initmd5
new_doc
initnew
initoperator
initparser
initregex
_Py_re_syntax_table
_Py_re_syntax
_Py_re_search
_Py_re_match
_Py_re_compile_pattern
_Py_re_compile_fastmap
_Py_re_set_syntax
_Py_re_compile_initialize
initrgbimg
initrotor
initselect
gethostbyname_lock
init_socket
initstrop
initstruct
inittime
FindApplicationFromCreator
PyMac_ApplicationFSSpec
PyMac_ApplicationPath
open_doc_upp
open_app_upp
not_upp
PyMac_GetArgv
PyMac_GetFullPath
PyMac_init_process_location
strdup
Py_GetCompiler
PyMac_PreferenceOptions
PyMac_GetPythonPath
PyMac_GetPythonDir
PyMac_OpenPrefFile
Py_GetPath
Py_GetPlatform
PyMac_ConsoleIsDead
PyMac_AppearanceCompliant
PyMac_OSErrException
PyMac_Buildwide
PyMac_Getwide
PyMac_BuildFixed
PyMac_GetFixed
PyMac_GetEventRecord
PyMac_BuildPoint
PyMac_GetPoint
PyMac_BuildRect
PyMac_GetRect
PyMac_BuildFSSpec
PyMac_GetFSSpec
PyMac_BuildOptStr255
PyMac_BuildStr255
PyMac_GetStr255
PyMac_BuildNumVersion
PyMac_BuildOSType
PyMac_GetOSType
PyMac_PromptGetFile
PyMac_GetDirectory
SIOUXDoAboutBox
PyMac_RestoreMenuBar
PyMac_InitMenuBar
PyMac_SetSchedParams
PyMac_GetSchedParams
PyMac_DoYield
PyMac_HandleEvent
PyMac_BuildEventRecord
PyMac_HandleEventIntern
PyMac_SetEventHandler
PyOS_InterruptOccurred
PyErr_CheckSignals
PyOS_FiniInterrupts
PyOS_InitInterrupts
PyOS_CheckStack
PyMac_Error
PyErr_Mac
PyMac_GetOSErrException
PyMac_StrError
c2pstrcpy
Pstring
PLstrrchr
PLstrcmp
PLstrcpy
PyMac_StopGUSISpin
RotateCursor
SpinCursor
PyMac_getscript
PyMac_AppRefNum
PyMac_options
console_output_state
PyMac_GetDelayConsoleFlag
Py_GetExecPrefix
Py_GetPrefix
Py_GetArgcArgv
Py_GetProgramFullPath
PyMac_Exit
PyMac_OutputNotSeen
PyMac_OutputSeen
PyMac_InitApplication
PyMac_Initialize
PyMac_InitApplet
PyMac_getfiletype
PyMac_setfiletype
main
PyMac_AddLibResources
__initialize_with_resources
getbootvol
getwd
macstat
sync
initgestalt
initmacfs
newmfssobject
mfs_GetFSSpecFSSpec
initmac
initMacOS
Pcre_Type
initpcre
pcre_lcc
pcre_fcc
pcre_cbits
pcre_ctypes
pcre_malloc
pcre_free
pcre_exec
pcre_compile
pcre_info
pcre_version
pcre_study
initcPickle
Pickler_setattr
cPickle_PyMapping_HasKey
initcStringIO
PyMac_FindModuleExtension
PyMac_LoadResourceModule
PyMac_LoadCodeResourceModule
PyMac_FindCodeResourceModule
PyMac_FindResourceModule
_PyImport_Inittab
CtlObj_chain
Control_Type
initCtl
CtlObj_Convert
CtlObj_New
DlgObj_chain
Dialog_Type
initDlg
DlgObj_ConvertToWindow
DlgObj_Convert
DlgObj_New
DlgObj_WhichDialog
MenuObj_chain
Menu_Type
initMenu
MenuObj_Convert
MenuObj_New
GrafObj_chain
GrafPort_Type
BMObj_chain
BitMap_Type
QDGlobalsAccess_Type
initQd
BMObj_NewCopied
BMObj_Convert
BMObj_New
GrafObj_Convert
GrafObj_New
QdRGB_Convert
QdRGB_New
ResObj_chain
Resource_Type
initRes
OptResObj_Convert
OptResObj_New
ResObj_Convert
ResObj_New
WinObj_chain
Window_Type
initWin
WinObj_WhichWindow
WinObj_Convert
WinObj_New
PyBuffer_Type
PyBuffer_New
PyBuffer_FromReadWriteMemory
PyBuffer_FromMemory
PyBuffer_FromReadWriteObject
PyBuffer_FromObject
_PyImport_DynLoadFiletab
_PyImport_GetDynLoadFunc
init_codecs
_PyUnicode_Database_Records
_PyUnicode_CategoryNames
_PyUnicode_BidirectionalNames
initunicodedata
_PyCodecRegistry_Fini
_PyCodecRegistry_Init
PyCodec_Decode
PyCodec_Encode
PyCodec_StreamWriter
PyCodec_StreamReader
PyCodec_Decoder
PyCodec_Encoder
_PyCodec_Lookup
PyCodec_Register
_PyUnicode_TypeRecords
_PyUnicode_IsAlpha
_PyUnicode_ToLowercase
_PyUnicode_ToUppercase
_PyUnicode_IsUppercase
_PyUnicode_IsLowercase
_PyUnicode_IsWhitespace
_PyUnicode_IsNumeric
_PyUnicode_ToNumeric
_PyUnicode_IsDigit
_PyUnicode_ToDigit
_PyUnicode_IsDecimalDigit
_PyUnicode_ToDecimalDigit
_PyUnicode_IsTitlecase
_PyUnicode_ToTitlecase
_PyUnicode_IsLinebreak
PyUnicode_Type
_PyUnicode_Fini
_PyUnicode_Init
PyUnicode_Format
PyUnicode_Split
PyUnicode_Replace
PyUnicode_Concat
PyUnicode_Contains
PyUnicode_Compare
PyUnicode_Splitlines
PyUnicode_Join
PyUnicode_Tailmatch
PyUnicode_Find
PyUnicode_Count
PyUnicode_EncodeDecimal
PyUnicode_Translate
PyUnicode_TranslateCharmap
PyUnicode_AsCharmapString
PyUnicode_EncodeCharmap
PyUnicode_DecodeCharmap
PyUnicode_AsASCIIString
PyUnicode_EncodeASCII
PyUnicode_DecodeASCII
PyUnicode_AsLatin1String
PyUnicode_EncodeLatin1
PyUnicode_DecodeLatin1
PyUnicode_AsRawUnicodeEscapeString
PyUnicode_EncodeRawUnicodeEscape
PyUnicode_DecodeRawUnicodeEscape
PyUnicode_AsUnicodeEscapeString
PyUnicode_EncodeUnicodeEscape
PyUnicode_DecodeUnicodeEscape
PyUnicode_AsUTF16String
PyUnicode_EncodeUTF16
PyUnicode_DecodeUTF16
PyUnicode_AsUTF8String
PyUnicode_EncodeUTF8
PyUnicode_DecodeUTF8
PyUnicode_SetDefaultEncoding
PyUnicode_GetDefaultEncoding
PyUnicode_GetSize
PyUnicode_AsUnicode
_PyUnicode_AsDefaultEncodedString
PyUnicode_AsEncodedString
PyUnicode_Encode
PyUnicode_Decode
PyUnicode_FromEncodedObject
PyUnicode_FromObject
PyUnicode_FromUnicode
PyUnicode_Resize
initthread
PyThread_up_sema
PyThread_down_sema
PyThread_free_sema
PyThread_allocate_sema
PyThread_release_lock
PyThread_acquire_lock
PyThread_free_lock
PyThread_allocate_lock
PyThread__exit_thread
PyThread_exit_thread
PyThread_get_thread_ident
PyThread_start_new_thread
PyThread_init_thread
SystemExit_methods
SyntaxError_methods
PyExc_Exception
PyExc_StandardError
PyExc_ArithmeticError
PyExc_LookupError
PyExc_AssertionError
PyExc_AttributeError
PyExc_EOFError
PyExc_FloatingPointError
PyExc_EnvironmentError
PyExc_IOError
PyExc_OSError
PyExc_ImportError
PyExc_IndexError
PyExc_KeyError
PyExc_KeyboardInterrupt
PyExc_MemoryError
PyExc_NameError
PyExc_OverflowError
PyExc_RuntimeError
PyExc_NotImplementedError
PyExc_SyntaxError
PyExc_IndentationError
PyExc_TabError
PyExc_SystemError
PyExc_SystemExit
PyExc_UnboundLocalError
PyExc_UnicodeError
PyExc_TypeError
PyExc_ValueError
PyExc_ZeroDivisionError
PyExc_MemoryErrorInst
PyExc_Warning
PyExc_UserWarning
PyExc_DeprecationWarning
PyExc_SyntaxWarning
PyExc_RuntimeWarning
fini_exceptions
init_exceptions
initNav
AEDesc_chain
AEDesc_Type
upp_GenericEventHandler
upp_AEIdleProc
initAE
AEDesc_Convert
AEDesc_New
init_locale
initEvt
copyright
init_sre
initsha
DragObj_chain
DragObj_Type
dragglue_TrackingHandlerUPP
dragglue_ReceiveHandlerUPP
dragglue_SendDataUPP
initDrag
DragObj_Convert
DragObj_New
initxreadlines
PyCell_Type
PyCell_Set
PyCell_Get
PyCell_New
PySymtableEntry_Type
PySymtableEntry_New
GUSISetupConsoleStdio
GUSIStdioFlush
GUSIStdioClose
_fdopen
__close_console
__close_file
__position_file
__write_console
__write_file
__read_console
__read_file
__open_temp_file
__open_file
gGUSIEventMask
h_errno
gGUSIEventHook
gGUSIExecHook
gGUSISpinHook
GUSI_sprintf__FPcPCce		# GUSI_sprintf(char*,const char*,...)
GUSI_vsprintf__FPcPCcPc		# GUSI_vsprintf(char*,const char*,char*)
GUSIHandleNextEvent__Fl		# GUSIHandleNextEvent(long)
GUSISetMacHostError__Fs		# GUSISetMacHostError(short)
GUSISetHostError__Fi		# GUSISetHostError(int)
GUSISetMacError__Fs		# GUSISetMacError(short)
GUSIMapMacError__Fs		# GUSIMapMacError(short)
GUSISetPosixError__Fi		# GUSISetPosixError(int)
GUSIGetHook__FUl		# GUSIGetHook(unsigned long)
GUSISetHook__FUlPFv_v		# GUSISetHook(unsigned long,void (*)(void))
__vt__13GUSIScattGath		# GUSIScattGath::__vt
Peek__Q214GUSIRingBuffer6PeekerFRC13GUSIScattererRUl		# GUSIRingBuffer::Peeker::Peek(const GUSIScatterer&,unsigned long&)
Peek__Q214GUSIRingBuffer6PeekerFPvRUl		# GUSIRingBuffer::Peeker::Peek(void*,unsigned long&)
PeekBuffer__Q214GUSIRingBuffer6PeekerFRUl		# GUSIRingBuffer::Peeker::PeekBuffer(unsigned long&)
__dt__Q214GUSIRingBuffer6PeekerFv		# GUSIRingBuffer::Peeker::~Peeker()
__ct__Q214GUSIRingBuffer6PeekerFR14GUSIRingBuffer		# GUSIRingBuffer::Peeker::Peeker(GUSIRingBuffer&)
Valid__14GUSIRingBufferFv		# GUSIRingBuffer::Valid()
Free__14GUSIRingBufferFv		# GUSIRingBuffer::Free()
IterateIOVec__14GUSIRingBufferFRC13GUSIScattGathRUlRUlb		# GUSIRingBuffer::IterateIOVec(const GUSIScattGath&,unsigned long&,unsigned long&,bool)
Consume__14GUSIRingBufferFPvRUl		# GUSIRingBuffer::Consume(void*,unsigned long&)
Produce__14GUSIRingBufferFPvRUl		# GUSIRingBuffer::Produce(void*,unsigned long&)
FreeBuffer__14GUSIRingBufferFPvUl		# GUSIRingBuffer::FreeBuffer(void*,unsigned long)
ValidBuffer__14GUSIRingBufferFPvUl		# GUSIRingBuffer::ValidBuffer(void*,unsigned long)
ConsumeBuffer__14GUSIRingBufferFRUl		# GUSIRingBuffer::ConsumeBuffer(unsigned long&)
ProduceBuffer__14GUSIRingBufferFRUl		# GUSIRingBuffer::ProduceBuffer(unsigned long&)
__dt__14GUSIRingBufferFv		# GUSIRingBuffer::~GUSIRingBuffer()
ObsoleteBuffer__14GUSIRingBufferFv		# GUSIRingBuffer::ObsoleteBuffer()
PurgeBuffers__14GUSIRingBufferFv		# GUSIRingBuffer::PurgeBuffers()
SwitchBuffer__14GUSIRingBufferFUl		# GUSIRingBuffer::SwitchBuffer(unsigned long)
__ct__14GUSIRingBufferFUl		# GUSIRingBuffer::GUSIRingBuffer(unsigned long)
Invariant__14GUSIRingBufferFv		# GUSIRingBuffer::Invariant()
Distance__14GUSIRingBufferFPcPc		# GUSIRingBuffer::Distance(char*,char*)
__ct__13GUSIScattGathFRC13GUSIScattGath		# GUSIScattGath::GUSIScattGath(const GUSIScattGath&)
__as__13GUSIScattGathFRC13GUSIScattGath		# GUSIScattGath::operator =(const GUSIScattGath&)
__dt__13GUSIScattGathFv		# GUSIScattGath::~GUSIScattGath()
Buffer__13GUSIScattGathCFv		# GUSIScattGath::Buffer() const
__ct__13GUSIScattGathFPvUlb		# GUSIScattGath::GUSIScattGath(void*,unsigned long,bool)
__ct__13GUSIScattGathFPC5iovecib		# GUSIScattGath::GUSIScattGath(const iovec*,int,bool)
sInstance__17GUSIConfiguration		# GUSIConfiguration::sInstance
ConfigureHandleAppleEvents__17GUSIConfigurationFb		# GUSIConfiguration::ConfigureHandleAppleEvents(bool)
CmdPeriod__17GUSIConfigurationFPC11EventRecord		# GUSIConfiguration::CmdPeriod(const EventRecord*)
CheckInterrupt__17GUSIConfigurationFv		# GUSIConfiguration::CheckInterrupt()
BrokenPipe__17GUSIConfigurationFv		# GUSIConfiguration::BrokenPipe()
DoAutoInitGraf__17GUSIConfigurationFv		# GUSIConfiguration::DoAutoInitGraf()
DoAutoSpin__17GUSIConfigurationCFv		# GUSIConfiguration::DoAutoSpin() const
SetDefaultFType__17GUSIConfigurationCFRC12GUSIFileSpec		# GUSIConfiguration::SetDefaultFType(const GUSIFileSpec&) const
ConfigureSuffices__17GUSIConfigurationFsPQ217GUSIConfiguration10FileSuffix		# GUSIConfiguration::ConfigureSuffices(short,GUSIConfiguration::FileSuffix*)
__ct__17GUSIConfigurationFs		# GUSIConfiguration::GUSIConfiguration(short)
__vt__22GUSIThreadManagerProxy		# GUSIThreadManagerProxy::__vt
__vt__18GUSIContextFactory		# GUSIContextFactory::__vt
__vt__11GUSIContext		# GUSIContext::__vt
sError__11GUSIContext		# GUSIContext::sError
sHasThreading__11GUSIContext		# GUSIContext::sHasThreading
sCurrentContext__11GUSIContext		# GUSIContext::sCurrentContext
sContexts__11GUSIContext		# GUSIContext::sContexts
sInstance__11GUSIProcess		# GUSIProcess::sInstance
__dt__Q211GUSIContext5QueueFv		# GUSIContext::Queue::~Queue()
MakeInstance__22GUSIThreadManagerProxyFv		# GUSIThreadManagerProxy::MakeInstance()
__dt__22GUSIThreadManagerProxyFv		# GUSIThreadManagerProxy::~GUSIThreadManagerProxy()
__dt__Q23std76auto_ptr<22GUSIThreadManagerProxy,Q23std33_Single<22GUSIThreadManagerProxy>>Fv		# std::auto_ptr<GUSIThreadManagerProxy, std::_Single<GUSIThreadManagerProxy>>::~auto_ptr()
Instance__22GUSIThreadManagerProxyFv		# GUSIThreadManagerProxy::Instance()
SetThreadTerminator__22GUSIThreadManagerProxyFUlPFUlPv_vPv		# GUSIThreadManagerProxy::SetThreadTerminator(unsigned long,void (*)(unsigned long, void*),void*)
SetThreadSwitcher__22GUSIThreadManagerProxyFUlPFUlPv_vPvUc		# GUSIThreadManagerProxy::SetThreadSwitcher(unsigned long,void (*)(unsigned long, void*),void*,unsigned char)
NewThread__22GUSIThreadManagerProxyFUlPFPv_PvPvlUlPPvPUl		# GUSIThreadManagerProxy::NewThread(unsigned long,void* (*)(void*),void*,long,unsigned long,void**,unsigned long*)
GUSIControl__FP7IOParam		# GUSIControl(IOParam*)
GUSIFinishIO__FP7IOParam		# GUSIFinishIO(IOParam*)
GUSIStartIO__FP7IOParam		# GUSIStartIO(IOParam*)
Blocked__11GUSIContextFv		# GUSIContext::Blocked()
Pending__11GUSIContextFv		# GUSIContext::Pending()
Raise__11GUSIContextFb		# GUSIContext::Raise(bool)
Yield__11GUSIProcessF13GUSIYieldMode		# GUSIProcess::Yield(GUSIYieldMode)
SigSuspend__11GUSIContextFv		# GUSIContext::SigSuspend()
SigWait__11GUSIContextFUi		# GUSIContext::SigWait(unsigned int)
Yield__11GUSIContextF13GUSIYieldMode		# GUSIContext::Yield(GUSIYieldMode)
Done__11GUSIContextFb		# GUSIContext::Done(bool)
Terminate__11GUSIContextFv		# GUSIContext::Terminate()
SwitchOut__11GUSIContextFv		# GUSIContext::SwitchOut()
SwitchIn__11GUSIContextFv		# GUSIContext::SwitchIn()
SetTerminator__11GUSIContextFPFUlPv_vPv		# GUSIContext::SetTerminator(void (*)(unsigned long, void*),void*)
GUSISetThreadTerminator
SetSwitchOut__11GUSIContextFPFUlPv_vPv		# GUSIContext::SetSwitchOut(void (*)(unsigned long, void*),void*)
SetSwitchIn__11GUSIContextFPFUlPv_vPv		# GUSIContext::SetSwitchIn(void (*)(unsigned long, void*),void*)
GUSISetThreadSwitcher
CreateContext__18GUSIContextFactoryFUl		# GUSIContextFactory::CreateContext(unsigned long)
CreateContext__18GUSIContextFactoryFPFPv_PvPvlUlPPvPUl		# GUSIContextFactory::CreateContext(void* (*)(void*),void*,long,unsigned long,void**,unsigned long*)
__dt__18GUSIContextFactoryFv		# GUSIContextFactory::~GUSIContextFactory()
__ct__18GUSIContextFactoryFv		# GUSIContextFactory::GUSIContextFactory()
__dt__Q23std68auto_ptr<18GUSIContextFactory,Q23std29_Single<18GUSIContextFactory>>Fv		# std::auto_ptr<GUSIContextFactory, std::_Single<GUSIContextFactory>>::~auto_ptr()
SetInstance__18GUSIContextFactoryFP18GUSIContextFactory		# GUSIContextFactory::SetInstance(GUSIContextFactory*)
Instance__18GUSIContextFactoryFv		# GUSIContextFactory::Instance()
GUSINewThread
Wakeup__11GUSIProcessFv		# GUSIProcess::Wakeup()
Wakeup__11GUSIContextFv		# GUSIContext::Wakeup()
Liquidate__11GUSIContextFv		# GUSIContext::Liquidate()
LiquidateAll__Q211GUSIContext5QueueFv		# GUSIContext::Queue::LiquidateAll()
__dt__11GUSIContextFv		# GUSIContext::~GUSIContext()
Lookup__11GUSIContextFUl		# GUSIContext::Lookup(unsigned long)
__ct__11GUSIContextFPFPv_PvPvlUlPPvPUl		# GUSIContext::GUSIContext(void* (*)(void*),void*,long,unsigned long,void**,unsigned long*)
__ct__11GUSIContextFUl		# GUSIContext::GUSIContext(unsigned long)
FinishSetup__11GUSIContextFv		# GUSIContext::FinishSetup()
GUSIThreadTerminator
StartSetup__11GUSIContextFv		# GUSIContext::StartSetup()
Setup__11GUSIContextFb		# GUSIContext::Setup(bool)
GUSIThreadSwitchOut
GUSIThreadSwitchIn
__dt__11GUSIProcessFv		# GUSIProcess::~GUSIProcess()
QueueForClose__11GUSIProcessFP10GUSISocket		# GUSIProcess::QueueForClose(GUSISocket*)
__ct__11GUSIProcessFb		# GUSIProcess::GUSIProcess(bool)
sBlocks__Q216GUSIContextQueue7element		# GUSIContextQueue::element::sBlocks
Wakeup__16GUSIContextQueueFv		# GUSIContextQueue::Wakeup()
push_back__16GUSIContextQueueFP11GUSIContext		# GUSIContextQueue::push_back(GUSIContext*)
remove__16GUSIContextQueueFP11GUSIContext		# GUSIContextQueue::remove(GUSIContext*)
__dt__16GUSIContextQueueFv		# GUSIContextQueue::~GUSIContextQueue()
__dl__Q216GUSIContextQueue7elementFPvUl		# GUSIContextQueue::element::operator delete(void*,unsigned long)
__nw__Q216GUSIContextQueue7elementFUl		# GUSIContextQueue::element::operator new(unsigned long)
__vt__14GUSIDConSocket		# GUSIDConSocket::__vt
__vt__14GUSIDConDevice		# GUSIDConDevice::__vt
sInstance__14GUSIDConDevice		# GUSIDConDevice::sInstance
__dt__14GUSIDConDeviceFv		# GUSIDConDevice::~GUSIDConDevice()
isatty__14GUSIDConSocketFv		# GUSIDConSocket::isatty()
Supports__14GUSIDConSocketFQ210GUSISocket12ConfigOption		# GUSIDConSocket::Supports(GUSISocket::ConfigOption)
write__14GUSIDConSocketFRC12GUSIGatherer		# GUSIDConSocket::write(const GUSIGatherer&)
read__14GUSIDConSocketFRC13GUSIScatterer		# GUSIDConSocket::read(const GUSIScatterer&)
__dt__14GUSIDConSocketFv		# GUSIDConSocket::~GUSIDConSocket()
__ct__14GUSIDConSocketFPCc		# GUSIDConSocket::GUSIDConSocket(const char*)
open__14GUSIDConDeviceFR13GUSIFileTokeni		# GUSIDConDevice::open(GUSIFileToken&,int)
Want__14GUSIDConDeviceFR13GUSIFileToken		# GUSIDConDevice::Want(GUSIFileToken&)
GUSIwithDConSockets
sGUSIDescriptorTable__19GUSIDescriptorTable		# GUSIDescriptorTable::sGUSIDescriptorTable
__ct__19GUSIDescriptorTableFRC19GUSIDescriptorTable		# GUSIDescriptorTable::GUSIDescriptorTable(const GUSIDescriptorTable&)
LookupSocket__19GUSIDescriptorTableFi		# GUSIDescriptorTable::LookupSocket(int)
__vc__19GUSIDescriptorTableFi		# GUSIDescriptorTable::operator [](int)
RemoveSocket__19GUSIDescriptorTableFi		# GUSIDescriptorTable::RemoveSocket(int)
InstallSocket__19GUSIDescriptorTableFP10GUSISocketi		# GUSIDescriptorTable::InstallSocket(GUSISocket*,int)
__dt__19GUSIDescriptorTableFv		# GUSIDescriptorTable::~GUSIDescriptorTable()
CloseAllDescriptors__19GUSIDescriptorTableFv		# GUSIDescriptorTable::CloseAllDescriptors()
SetInstance__19GUSIDescriptorTableFP19GUSIDescriptorTable		# GUSIDescriptorTable::SetInstance(GUSIDescriptorTable*)
Instance__19GUSIDescriptorTableFv		# GUSIDescriptorTable::Instance()
Instance__14GUSINullDeviceFv		# GUSINullDevice::Instance()
GUSIDefaultSetupConsole
GUSISetupConsole
__ct__19GUSIDescriptorTableFv		# GUSIDescriptorTable::GUSIDescriptorTable()
__vt__10GUSIDevice		# GUSIDevice::__vt
sInstance__18GUSIDeviceRegistry		# GUSIDeviceRegistry::sInstance
faccess__18GUSIDeviceRegistryFPCcPUiPv		# GUSIDeviceRegistry::faccess(const char*,unsigned int*,void*)
fsetfileinfo__18GUSIDeviceRegistryFPCcUlUl		# GUSIDeviceRegistry::fsetfileinfo(const char*,unsigned long,unsigned long)
fgetfileinfo__18GUSIDeviceRegistryFPCcPUlPUl		# GUSIDeviceRegistry::fgetfileinfo(const char*,unsigned long*,unsigned long*)
readlink__18GUSIDeviceRegistryFPCcPci		# GUSIDeviceRegistry::readlink(const char*,char*,int)
symlink__18GUSIDeviceRegistryFPCcPCc		# GUSIDeviceRegistry::symlink(const char*,const char*)
opendir__18GUSIDeviceRegistryFPCc		# GUSIDeviceRegistry::opendir(const char*)
rmdir__18GUSIDeviceRegistryFPCc		# GUSIDeviceRegistry::rmdir(const char*)
mkdir__18GUSIDeviceRegistryFPCc		# GUSIDeviceRegistry::mkdir(const char*)
access__18GUSIDeviceRegistryFPCci		# GUSIDeviceRegistry::access(const char*,int)
utime__18GUSIDeviceRegistryFPCcPC7utimbuf		# GUSIDeviceRegistry::utime(const char*,const utimbuf*)
chmod__18GUSIDeviceRegistryFPCcUs		# GUSIDeviceRegistry::chmod(const char*,unsigned short)
stat__18GUSIDeviceRegistryFPCcP4statb		# GUSIDeviceRegistry::stat(const char*,stat*,bool)
rename__18GUSIDeviceRegistryFPCcPCc		# GUSIDeviceRegistry::rename(const char*,const char*)
remove__18GUSIDeviceRegistryFPCc		# GUSIDeviceRegistry::remove(const char*)
open__18GUSIDeviceRegistryFPCci		# GUSIDeviceRegistry::open(const char*,int)
Lookup__18GUSIDeviceRegistryFR13GUSIFileToken		# GUSIDeviceRegistry::Lookup(GUSIFileToken&)
RemoveDevice__18GUSIDeviceRegistryFP10GUSIDevice		# GUSIDeviceRegistry::RemoveDevice(GUSIDevice*)
AddDevice__18GUSIDeviceRegistryFP10GUSIDevice		# GUSIDeviceRegistry::AddDevice(GUSIDevice*)
__ct__18GUSIDeviceRegistryFv		# GUSIDeviceRegistry::GUSIDeviceRegistry()
faccess__10GUSIDeviceFR13GUSIFileTokenPUiPv		# GUSIDevice::faccess(GUSIFileToken&,unsigned int*,void*)
fsetfileinfo__10GUSIDeviceFR13GUSIFileTokenUlUl		# GUSIDevice::fsetfileinfo(GUSIFileToken&,unsigned long,unsigned long)
fgetfileinfo__10GUSIDeviceFR13GUSIFileTokenPUlPUl		# GUSIDevice::fgetfileinfo(GUSIFileToken&,unsigned long*,unsigned long*)
readlink__10GUSIDeviceFR13GUSIFileTokenPci		# GUSIDevice::readlink(GUSIFileToken&,char*,int)
symlink__10GUSIDeviceFR13GUSIFileTokenPCc		# GUSIDevice::symlink(GUSIFileToken&,const char*)
opendir__10GUSIDeviceFR13GUSIFileToken		# GUSIDevice::opendir(GUSIFileToken&)
rmdir__10GUSIDeviceFR13GUSIFileToken		# GUSIDevice::rmdir(GUSIFileToken&)
mkdir__10GUSIDeviceFR13GUSIFileToken		# GUSIDevice::mkdir(GUSIFileToken&)
access__10GUSIDeviceFR13GUSIFileTokeni		# GUSIDevice::access(GUSIFileToken&,int)
utime__10GUSIDeviceFR13GUSIFileTokenPC7utimbuf		# GUSIDevice::utime(GUSIFileToken&,const utimbuf*)
chmod__10GUSIDeviceFR13GUSIFileTokenUs		# GUSIDevice::chmod(GUSIFileToken&,unsigned short)
stat__10GUSIDeviceFR13GUSIFileTokenP4stat		# GUSIDevice::stat(GUSIFileToken&,stat*)
rename__10GUSIDeviceFR13GUSIFileTokenPCc		# GUSIDevice::rename(GUSIFileToken&,const char*)
remove__10GUSIDeviceFR13GUSIFileToken		# GUSIDevice::remove(GUSIFileToken&)
open__10GUSIDeviceFR13GUSIFileTokeni		# GUSIDevice::open(GUSIFileToken&,int)
Want__10GUSIDeviceFR13GUSIFileToken		# GUSIDevice::Want(GUSIFileToken&)
__ct__13GUSIFileTokenFsQ213GUSIFileToken7Request		# GUSIFileToken::GUSIFileToken(short,GUSIFileToken::Request)
__ct__13GUSIFileTokenFRC12GUSIFileSpecQ213GUSIFileToken7Request		# GUSIFileToken::GUSIFileToken(const GUSIFileSpec&,GUSIFileToken::Request)
StrStdStream__13GUSIFileTokenFPCc		# GUSIFileToken::StrStdStream(const char*)
__ct__13GUSIFileTokenFPCcQ213GUSIFileToken7Requestb		# GUSIFileToken::GUSIFileToken(const char*,GUSIFileToken::Request,bool)
StrFragEqual__13GUSIFileTokenFPCcPCc		# GUSIFileToken::StrFragEqual(const char*,const char*)
GUSI_diag_log
vdfprintf
dfprintf
GUSI_break
GUSI_log
GUSI_pos
__vt__22GUSISocketTypeRegistry		# GUSISocketTypeRegistry::__vt
__vt__24GUSISocketDomainRegistry		# GUSISocketDomainRegistry::__vt
__vt__17GUSISocketFactory		# GUSISocketFactory::__vt
sInstance__24GUSISocketDomainRegistry		# GUSISocketDomainRegistry::sInstance
__dt__24GUSISocketDomainRegistryFv		# GUSISocketDomainRegistry::~GUSISocketDomainRegistry()
__dt__22GUSISocketTypeRegistryFv		# GUSISocketTypeRegistry::~GUSISocketTypeRegistry()
RemoveFactory__22GUSISocketTypeRegistryFii		# GUSISocketTypeRegistry::RemoveFactory(int,int)
AddFactory__22GUSISocketTypeRegistryFiiP17GUSISocketFactory		# GUSISocketTypeRegistry::AddFactory(int,int,GUSISocketFactory*)
socketpair__22GUSISocketTypeRegistryFiiiPP10GUSISocket		# GUSISocketTypeRegistry::socketpair(int,int,int,GUSISocket**)
socket__22GUSISocketTypeRegistryFiii		# GUSISocketTypeRegistry::socket(int,int,int)
Find__22GUSISocketTypeRegistryFiibRPQ222GUSISocketTypeRegistry5Entry		# GUSISocketTypeRegistry::Find(int,int,bool,GUSISocketTypeRegistry::Entry*&)
Initialize__22GUSISocketTypeRegistryFv		# GUSISocketTypeRegistry::Initialize()
__ct__Q222GUSISocketTypeRegistry5EntryFv		# GUSISocketTypeRegistry::Entry::Entry()
AddFactory__24GUSISocketDomainRegistryFiP17GUSISocketFactory		# GUSISocketDomainRegistry::AddFactory(int,GUSISocketFactory*)
socketpair__24GUSISocketDomainRegistryFiiiPP10GUSISocket		# GUSISocketDomainRegistry::socketpair(int,int,int,GUSISocket**)
socket__24GUSISocketDomainRegistryFiii		# GUSISocketDomainRegistry::socket(int,int,int)
__dt__17GUSISocketFactoryFv		# GUSISocketFactory::~GUSISocketFactory()
__ct__24GUSISocketDomainRegistryFv		# GUSISocketDomainRegistry::GUSISocketDomainRegistry()
socketpair__17GUSISocketFactoryFiiiPP10GUSISocket		# GUSISocketFactory::socketpair(int,int,int,GUSISocket**)
sID__16GUSITempFileSpec		# GUSITempFileSpec::sID
sScratchSize__12GUSIFileSpec		# GUSIFileSpec::sScratchSize
sScratch__12GUSIFileSpec		# GUSIFileSpec::sScratch
GUSIFSpGetCatInfo
GUSIFSpTouchFolder
GUSIFSp2Encoding
GUSIFSp2DirRelPath
GUSIFSp2RelPath
GUSIFSp2FullPath
GUSIFSpResolve
GUSIFSpIndex
GUSIFSpDown
GUSIFSpUp
GUSIMakeTempFSp
GUSISpecial2FSp
GUSIPath2FSp
GUSIWD2FSp
GUSIFRefNum2FSp
TempName__16GUSITempFileSpecFPCUc		# GUSITempFileSpec::TempName(const unsigned char*)
TempName__16GUSITempFileSpecFv		# GUSITempFileSpec::TempName()
__ct__16GUSITempFileSpecFslPCUc		# GUSITempFileSpec::GUSITempFileSpec(short,long,const unsigned char*)
__ct__16GUSITempFileSpecFsPCUc		# GUSITempFileSpec::GUSITempFileSpec(short,const unsigned char*)
__ct__16GUSITempFileSpecFPCUc		# GUSITempFileSpec::GUSITempFileSpec(const unsigned char*)
__ct__16GUSITempFileSpecFsl		# GUSITempFileSpec::GUSITempFileSpec(short,long)
__ct__16GUSITempFileSpecFs		# GUSITempFileSpec::GUSITempFileSpec(short)
IsParentOf__12GUSIFileSpecCFRC12GUSIFileSpec		# GUSIFileSpec::IsParentOf(const GUSIFileSpec&) const
__eq__FRC12GUSIFileSpecRC12GUSIFileSpec		# operator ==(const GUSIFileSpec&,const GUSIFileSpec&)
AliasPath__12GUSIFileSpecCFv		# GUSIFileSpec::AliasPath() const
Resolve__12GUSIFileSpecFb		# GUSIFileSpec::Resolve(bool)
EncodedPath__12GUSIFileSpecCFv		# GUSIFileSpec::EncodedPath() const
RelativePath__12GUSIFileSpecCFv		# GUSIFileSpec::RelativePath() const
__as__9HFileInfoFRC9HFileInfo		# HFileInfo::operator =(const HFileInfo&)
__as__7DirInfoFRC7DirInfo		# DirInfo::operator =(const DirInfo&)
RelativePath__12GUSIFileSpecCFRC6FSSpec		# GUSIFileSpec::RelativePath(const FSSpec&) const
PrependPathComponent__12GUSIFileSpecCFRPcPCUcb		# GUSIFileSpec::PrependPathComponent(char*&,const unsigned char*,bool) const
FullPath__12GUSIFileSpecCFv		# GUSIFileSpec::FullPath() const
CatInfo__12GUSIFileSpecFs		# GUSIFileSpec::CatInfo(short)
TouchFolder__12GUSIFileSpecFv		# GUSIFileSpec::TouchFolder()
SetName__12GUSIFileSpecFPCc		# GUSIFileSpec::SetName(const char*)
SetName__12GUSIFileSpecFPCUc		# GUSIFileSpec::SetName(const unsigned char*)
SetParID__12GUSIFileSpecFl		# GUSIFileSpec::SetParID(long)
SetVRef__12GUSIFileSpecFs		# GUSIFileSpec::SetVRef(short)
__vc__12GUSIFileSpecFs		# GUSIFileSpec::operator [](short)
__pl__FRC6FSSpecPCc		# operator +(const FSSpec&,const char*)
__pl__FRC6FSSpecPCUc		# operator +(const FSSpec&,const unsigned char*)
AddPathComponent__12GUSIFileSpecFPCcib		# GUSIFileSpec::AddPathComponent(const char*,int,bool)
__pp__12GUSIFileSpecFv		# GUSIFileSpec::operator ++()
__mm__12GUSIFileSpecFv		# GUSIFileSpec::operator --()
GetVolume__12GUSIFileSpecFs		# GUSIFileSpec::GetVolume(short)
__ct__12GUSIFileSpecFPCcb		# GUSIFileSpec::GUSIFileSpec(const char*,bool)
__ct__12GUSIFileSpecFs		# GUSIFileSpec::GUSIFileSpec(short)
__ct__12GUSIFileSpecFUls		# GUSIFileSpec::GUSIFileSpec(unsigned long,short)
__ct__12GUSIFileSpecFsPCUcb		# GUSIFileSpec::GUSIFileSpec(short,const unsigned char*,bool)
__ct__12GUSIFileSpecFslPCUcb		# GUSIFileSpec::GUSIFileSpec(short,long,const unsigned char*,bool)
__ct__12GUSIFileSpecFRC6FSSpecb		# GUSIFileSpec::GUSIFileSpec(const FSSpec&,bool)
__ct__12GUSIFileSpecFRC12GUSIFileSpec		# GUSIFileSpec::GUSIFileSpec(const GUSIFileSpec&)
CScratch__12GUSIFileSpecFb		# GUSIFileSpec::CScratch(bool)
ReadHex__FPCciPc		# ReadHex(const char*,int,char*)
GUSIFSMoveRename
GUSIFSCatMove
GUSIFSCatMove__FPC6FSSpecl		# GUSIFSCatMove(const FSSpec*,long)
GUSIFSRename
GUSIFSRstFLock
GUSIFSSetFLock
GUSIFSDirCreate
GUSIFSDelete
GUSIFSCreate
GUSIFSCreate__FPC6FSSpec		# GUSIFSCreate(const FSSpec*)
GUSIFSGetVolParms
GUSIFSHGetVolParms__FP33GUSIIOPBWrapper<14HParamBlockRec>		# GUSIFSHGetVolParms(GUSIIOPBWrapper<HParamBlockRec>*)
GUSIFSOpenRF
GUSIFSOpenDF
GUSIFSSetFInfo
GUSIFSGetFInfo
GUSIFSHSetFInfo__FP33GUSIIOPBWrapper<14HParamBlockRec>		# GUSIFSHSetFInfo(GUSIIOPBWrapper<HParamBlockRec>*)
GUSIFSHGetFInfo__FP33GUSIIOPBWrapper<14HParamBlockRec>		# GUSIFSHGetFInfo(GUSIIOPBWrapper<HParamBlockRec>*)
GUSIFSOpenDriver
GUSIFSOpen__FP32GUSIIOPBWrapper<13ParamBlockRec>		# GUSIFSOpen(GUSIIOPBWrapper<ParamBlockRec>*)
GUSIFSHGetVInfo__FP33GUSIIOPBWrapper<14HParamBlockRec>		# GUSIFSHGetVInfo(GUSIIOPBWrapper<HParamBlockRec>*)
GUSIFSGetVInfo__FP32GUSIIOPBWrapper<13ParamBlockRec>		# GUSIFSGetVInfo(GUSIIOPBWrapper<ParamBlockRec>*)
GUSIFSGetFCBInfo__FP26GUSIIOPBWrapper<8FCBPBRec>		# GUSIFSGetFCBInfo(GUSIIOPBWrapper<FCBPBRec>*)
GUSIFSSetCatInfo__FP30GUSIIOPBWrapper<11GUSICatInfo>		# GUSIFSSetCatInfo(GUSIIOPBWrapper<GUSICatInfo>*)
GUSIFSGetCatInfo__FP30GUSIIOPBWrapper<11GUSICatInfo>		# GUSIFSGetCatInfo(GUSIIOPBWrapper<GUSICatInfo>*)
gGUSIInetFactories
GUSIwithInetSockets
__vt__16GUSIMacDirectory		# GUSIMacDirectory::__vt
__vt__13GUSIDirectory		# GUSIDirectory::__vt
__vt__17GUSIMacFileSocket		# GUSIMacFileSocket::__vt
__vt__17GUSIMacFileDevice		# GUSIMacFileDevice::__vt
sWakeupProc__17GUSIMacFileSocket		# GUSIMacFileSocket::sWakeupProc
sWriteProc__17GUSIMacFileSocket		# GUSIMacFileSocket::sWriteProc
sReadProc__17GUSIMacFileSocket		# GUSIMacFileSocket::sReadProc
__dt__16GUSIMacDirectoryFv		# GUSIMacDirectory::~GUSIMacDirectory()
rewinddir__16GUSIMacDirectoryFv		# GUSIMacDirectory::rewinddir()
seekdir__16GUSIMacDirectoryFl		# GUSIMacDirectory::seekdir(long)
telldir__16GUSIMacDirectoryFv		# GUSIMacDirectory::telldir()
readdir__16GUSIMacDirectoryFv		# GUSIMacDirectory::readdir()
__dt__13GUSIDirectoryFv		# GUSIDirectory::~GUSIDirectory()
__ct__16GUSIMacDirectoryFRC6FSSpec		# GUSIMacDirectory::GUSIMacDirectory(const FSSpec&)
Supports__17GUSIMacFileSocketFQ210GUSISocket12ConfigOption		# GUSIMacFileSocket::Supports(GUSISocket::ConfigOption)
fstat__17GUSIMacFileSocketFP4stat		# GUSIMacFileSocket::fstat(stat*)
ftruncate__17GUSIMacFileSocketFl		# GUSIMacFileSocket::ftruncate(long)
lseek__17GUSIMacFileSocketFli		# GUSIMacFileSocket::lseek(long,int)
setsockopt__17GUSIMacFileSocketFiiPvUi		# GUSIMacFileSocket::setsockopt(int,int,void*,unsigned int)
getsockopt__17GUSIMacFileSocketFiiPvPUi		# GUSIMacFileSocket::getsockopt(int,int,void*,unsigned int*)
ioctl__17GUSIMacFileSocketFUiPc		# GUSIMacFileSocket::ioctl(unsigned int,char*)
fcntl__17GUSIMacFileSocketFiPc		# GUSIMacFileSocket::fcntl(int,char*)
fsync__17GUSIMacFileSocketFv		# GUSIMacFileSocket::fsync()
select__17GUSIMacFileSocketFPbPbPb		# GUSIMacFileSocket::select(bool*,bool*,bool*)
write__17GUSIMacFileSocketFRC12GUSIGatherer		# GUSIMacFileSocket::write(const GUSIGatherer&)
read__17GUSIMacFileSocketFRC13GUSIScatterer		# GUSIMacFileSocket::read(const GUSIScatterer&)
SyncWrite__17GUSIMacFileSocketFv		# GUSIMacFileSocket::SyncWrite()
SyncRead__17GUSIMacFileSocketFv		# GUSIMacFileSocket::SyncRead()
__dt__17GUSIMacFileSocketFv		# GUSIMacFileSocket::~GUSIMacFileSocket()
__dt__17GUSISMInputBufferFv		# GUSISMInputBuffer::~GUSISMInputBuffer()
__dt__18GUSISMOutputBufferFv		# GUSISMOutputBuffer::~GUSISMOutputBuffer()
__ct__17GUSIMacFileSocketFsbi		# GUSIMacFileSocket::GUSIMacFileSocket(short,bool,int)
faccess__17GUSIMacFileDeviceFR13GUSIFileTokenPUiPv		# GUSIMacFileDevice::faccess(GUSIFileToken&,unsigned int*,void*)
fsetfileinfo__17GUSIMacFileDeviceFR13GUSIFileTokenUlUl		# GUSIMacFileDevice::fsetfileinfo(GUSIFileToken&,unsigned long,unsigned long)
fgetfileinfo__17GUSIMacFileDeviceFR13GUSIFileTokenPUlPUl		# GUSIMacFileDevice::fgetfileinfo(GUSIFileToken&,unsigned long*,unsigned long*)
readlink__17GUSIMacFileDeviceFR13GUSIFileTokenPci		# GUSIMacFileDevice::readlink(GUSIFileToken&,char*,int)
symlink__17GUSIMacFileDeviceFR13GUSIFileTokenPCc		# GUSIMacFileDevice::symlink(GUSIFileToken&,const char*)
opendir__17GUSIMacFileDeviceFR13GUSIFileToken		# GUSIMacFileDevice::opendir(GUSIFileToken&)
rmdir__17GUSIMacFileDeviceFR13GUSIFileToken		# GUSIMacFileDevice::rmdir(GUSIFileToken&)
mkdir__17GUSIMacFileDeviceFR13GUSIFileToken		# GUSIMacFileDevice::mkdir(GUSIFileToken&)
access__17GUSIMacFileDeviceFR13GUSIFileTokeni		# GUSIMacFileDevice::access(GUSIFileToken&,int)
utime__17GUSIMacFileDeviceFR13GUSIFileTokenPC7utimbuf		# GUSIMacFileDevice::utime(GUSIFileToken&,const utimbuf*)
chmod__17GUSIMacFileDeviceFR13GUSIFileTokenUs		# GUSIMacFileDevice::chmod(GUSIFileToken&,unsigned short)
stat__17GUSIMacFileDeviceFR13GUSIFileTokenP4stat		# GUSIMacFileDevice::stat(GUSIFileToken&,stat*)
rename__17GUSIMacFileDeviceFR13GUSIFileTokenPCc		# GUSIMacFileDevice::rename(GUSIFileToken&,const char*)
CleanupTemporaries__17GUSIMacFileDeviceFb		# GUSIMacFileDevice::CleanupTemporaries(bool)
MarkTemporary__17GUSIMacFileDeviceFRC6FSSpec		# GUSIMacFileDevice::MarkTemporary(const FSSpec&)
remove__17GUSIMacFileDeviceFR13GUSIFileToken		# GUSIMacFileDevice::remove(GUSIFileToken&)
open__17GUSIMacFileDeviceFsi		# GUSIMacFileDevice::open(short,int)
open__17GUSIMacFileDeviceFR13GUSIFileTokeni		# GUSIMacFileDevice::open(GUSIFileToken&,int)
Want__17GUSIMacFileDeviceFR13GUSIFileToken		# GUSIMacFileDevice::Want(GUSIFileToken&)
__dt__17GUSIMacFileDeviceFv		# GUSIMacFileDevice::~GUSIMacFileDevice()
__dt__Q23std66auto_ptr<17GUSIMacFileDevice,Q23std28_Single<17GUSIMacFileDevice>>Fv		# std::auto_ptr<GUSIMacFileDevice, std::_Single<GUSIMacFileDevice>>::~auto_ptr()
Instance__17GUSIMacFileDeviceFv		# GUSIMacFileDevice::Instance()
__dt__Q211GUSIProcess7A5SaverFv		# GUSIProcess::A5Saver::~A5Saver()
sDrvrState__16GUSIMTInetSocket		# GUSIMTInetSocket::sDrvrState
__vt__16GUSIMTInetSocket		# GUSIMTInetSocket::__vt
sHostAddress__16GUSIMTInetSocket		# GUSIMTInetSocket::sHostAddress
sDrvrRefNum__16GUSIMTInetSocket		# GUSIMTInetSocket::sDrvrRefNum
__dt__16GUSIMTInetSocketFv		# GUSIMTInetSocket::~GUSIMTInetSocket()
GUSIwithMTInetSockets
Supports__16GUSIMTInetSocketFQ210GUSISocket12ConfigOption		# GUSIMTInetSocket::Supports(GUSISocket::ConfigOption)
setsockopt__16GUSIMTInetSocketFiiPvUi		# GUSIMTInetSocket::setsockopt(int,int,void*,unsigned int)
getsockopt__16GUSIMTInetSocketFiiPvPUi		# GUSIMTInetSocket::getsockopt(int,int,void*,unsigned int*)
ioctl__16GUSIMTInetSocketFUiPc		# GUSIMTInetSocket::ioctl(unsigned int,char*)
fcntl__16GUSIMTInetSocketFiPc		# GUSIMTInetSocket::fcntl(int,char*)
shutdown__16GUSIMTInetSocketFi		# GUSIMTInetSocket::shutdown(int)
getpeername__16GUSIMTInetSocketFPvPUi		# GUSIMTInetSocket::getpeername(void*,unsigned int*)
getsockname__16GUSIMTInetSocketFPvPUi		# GUSIMTInetSocket::getsockname(void*,unsigned int*)
bind__16GUSIMTInetSocketFPvUi		# GUSIMTInetSocket::bind(void*,unsigned int)
__ct__16GUSIMTInetSocketFv		# GUSIMTInetSocket::GUSIMTInetSocket()
HostAddr__16GUSIMTInetSocketFv		# GUSIMTInetSocket::HostAddr()
Driver__16GUSIMTInetSocketFv		# GUSIMTInetSocket::Driver()
uDNRDone
sResolverState__11GUSIMTNetDB		# GUSIMTNetDB::sResolverState
__vt__11GUSIMTNetDB		# GUSIMTNetDB::__vt
get__49GUSISpecificData<11GUSIhostent,&.GUSIKillHostEnt>FP17GUSISpecificTable		# GUSISpecificData<GUSIhostent, &.GUSIKillHostEnt>::get(GUSISpecificTable*)
__dt__11GUSIMTNetDBFv		# GUSIMTNetDB::~GUSIMTNetDB()
gethostid__11GUSIMTNetDBFv		# GUSIMTNetDB::gethostid()
inet_ntoa__11GUSIMTNetDBF7in_addr		# GUSIMTNetDB::inet_ntoa(in_addr)
gethostbyaddr__11GUSIMTNetDBFPCvUli		# GUSIMTNetDB::gethostbyaddr(const void*,unsigned long,int)
gethostbyname__11GUSIMTNetDBFPCc		# GUSIMTNetDB::gethostbyname(const char*)
Resolver__11GUSIMTNetDBFv		# GUSIMTNetDB::Resolver()
__dt__12GUSISpecificFv		# GUSISpecific::~GUSISpecific()
__dt__49GUSISpecificData<11GUSIhostent,&.GUSIKillHostEnt>Fv		# GUSISpecificData<GUSIhostent, &.GUSIKillHostEnt>::~GUSISpecificData()
__dt__9GUSINetDBFv		# GUSINetDB::~GUSINetDB()
Instantiate__11GUSIMTNetDBFv		# GUSIMTNetDB::Instantiate()
__vt__16GUSIMTTcpFactory		# GUSIMTTcpFactory::__vt
__vt__15GUSIMTTcpSocket		# GUSIMTTcpSocket::__vt
instance__16GUSIMTTcpFactory		# GUSIMTTcpFactory::instance
sListenProc__15GUSIMTTcpSocket		# GUSIMTTcpSocket::sListenProc
sConnectProc__15GUSIMTTcpSocket		# GUSIMTTcpSocket::sConnectProc
sNotifyProc__15GUSIMTTcpSocket		# GUSIMTTcpSocket::sNotifyProc
sRecvProc__15GUSIMTTcpSocket		# GUSIMTTcpSocket::sRecvProc
sSendProc__15GUSIMTTcpSocket		# GUSIMTTcpSocket::sSendProc
__dt__16GUSIMTTcpFactoryFv		# GUSIMTTcpFactory::~GUSIMTTcpFactory()
GUSIwithMTTcpSockets
socket__16GUSIMTTcpFactoryFiii		# GUSIMTTcpFactory::socket(int,int,int)
__dt__15GUSIMTTcpSocketFv		# GUSIMTTcpSocket::~GUSIMTTcpSocket()
shutdown__15GUSIMTTcpSocketFi		# GUSIMTTcpSocket::shutdown(int)
select__15GUSIMTTcpSocketFPbPbPb		# GUSIMTTcpSocket::select(bool*,bool*,bool*)
sendto__15GUSIMTTcpSocketFRC12GUSIGathereriPCvUi		# GUSIMTTcpSocket::sendto(const GUSIGatherer&,int,const void*,unsigned int)
recvfrom__15GUSIMTTcpSocketFRC13GUSIScattereriPvPUi		# GUSIMTTcpSocket::recvfrom(const GUSIScatterer&,int,void*,unsigned int*)
__ct__15GUSIMTTcpSocketFRQ215GUSIMTTcpSocket8Listener		# GUSIMTTcpSocket::GUSIMTTcpSocket(GUSIMTTcpSocket::Listener&)
accept__15GUSIMTTcpSocketFPvPUi		# GUSIMTTcpSocket::accept(void*,unsigned int*)
listen__15GUSIMTTcpSocketFi		# GUSIMTTcpSocket::listen(int)
connect__15GUSIMTTcpSocketFPvUi		# GUSIMTTcpSocket::connect(void*,unsigned int)
__ct__15GUSIMTTcpSocketFv		# GUSIMTTcpSocket::GUSIMTTcpSocket()
SetupListener__15GUSIMTTcpSocketFRQ215GUSIMTTcpSocket8Listener		# GUSIMTTcpSocket::SetupListener(GUSIMTTcpSocket::Listener&)
CreateStream__15GUSIMTTcpSocketFPP15GUSIMTTcpSocket		# GUSIMTTcpSocket::CreateStream(GUSIMTTcpSocket**)
GUSIMTTListen__FP15GUSIMTTcpSocket		# GUSIMTTListen(GUSIMTTcpSocket*)
GUSIMTTListenDone__FP7TCPiopb		# GUSIMTTListenDone(TCPiopb*)
GUSIMTTConnectDone__FP7TCPiopb		# GUSIMTTConnectDone(TCPiopb*)
GUSIMTTNotify
GUSIMTTRecv__FP15GUSIMTTcpSocket		# GUSIMTTRecv(GUSIMTTcpSocket*)
GUSIMTTRecvDone__FP7TCPiopb		# GUSIMTTRecvDone(TCPiopb*)
GUSIMTTSend__FP15GUSIMTTcpSocket		# GUSIMTTSend(GUSIMTTcpSocket*)
GUSIMTTSendDone__FP7TCPiopb		# GUSIMTTSendDone(TCPiopb*)
__vt__16GUSIMTUdpFactory		# GUSIMTUdpFactory::__vt
__vt__15GUSIMTUdpSocket		# GUSIMTUdpSocket::__vt
instance__16GUSIMTUdpFactory		# GUSIMTUdpFactory::instance
sRecvProc__15GUSIMTUdpSocket		# GUSIMTUdpSocket::sRecvProc
sSendProc__15GUSIMTUdpSocket		# GUSIMTUdpSocket::sSendProc
__dt__16GUSIMTUdpFactoryFv		# GUSIMTUdpFactory::~GUSIMTUdpFactory()
GUSIwithMTUdpSockets
socket__16GUSIMTUdpFactoryFiii		# GUSIMTUdpFactory::socket(int,int,int)
__dt__15GUSIMTUdpSocketFv		# GUSIMTUdpSocket::~GUSIMTUdpSocket()
shutdown__15GUSIMTUdpSocketFi		# GUSIMTUdpSocket::shutdown(int)
select__15GUSIMTUdpSocketFPbPbPb		# GUSIMTUdpSocket::select(bool*,bool*,bool*)
sendto__15GUSIMTUdpSocketFRC12GUSIGathereriPCvUi		# GUSIMTUdpSocket::sendto(const GUSIGatherer&,int,const void*,unsigned int)
recvfrom__15GUSIMTUdpSocketFRC13GUSIScattereriPvPUi		# GUSIMTUdpSocket::recvfrom(const GUSIScatterer&,int,void*,unsigned int*)
connect__15GUSIMTUdpSocketFPvUi		# GUSIMTUdpSocket::connect(void*,unsigned int)
__ct__15GUSIMTUdpSocketFv		# GUSIMTUdpSocket::GUSIMTUdpSocket()
CreateStream__15GUSIMTUdpSocketFv		# GUSIMTUdpSocket::CreateStream()
GUSIMTURecv__FP15GUSIMTUdpSocket		# GUSIMTURecv(GUSIMTUdpSocket*)
GUSIMTURecvDone__FP7UDPiopb		# GUSIMTURecvDone(UDPiopb*)
GUSIMTUSend__FP15GUSIMTUdpSocket		# GUSIMTUSend(GUSIMTUdpSocket*)
GUSIMTUSendDone__FP7UDPiopb		# GUSIMTUSendDone(UDPiopb*)
sProtocols__9GUSINetDB		# GUSINetDB::sProtocols
sServices__20GUSIBuiltinServiceDB		# GUSIBuiltinServiceDB::sServices
__vt__20GUSIBuiltinServiceDB		# GUSIBuiltinServiceDB::__vt
__vt__17GUSIFileServiceDB		# GUSIFileServiceDB::__vt
__vt__13GUSIServiceDB		# GUSIServiceDB::__vt
__vt__9GUSINetDB		# GUSINetDB::__vt
sInstance__13GUSIServiceDB		# GUSIServiceDB::sInstance
sData__13GUSIServiceDB		# GUSIServiceDB::sData
sEntry__20GUSIBuiltinServiceDB		# GUSIBuiltinServiceDB::sEntry
sInstance__9GUSINetDB		# GUSINetDB::sInstance
__dt__64GUSISpecificData<Q213GUSIServiceDB4Data,&.GUSIKillServiceDBData>Fv		# GUSISpecificData<GUSIServiceDB::Data, &.GUSIKillServiceDBData>::~GUSISpecificData()
__dt__80GUSISpecificData<Q220GUSIBuiltinServiceDB5Entry,&.GUSIKillBuiltinServiceDBEntry>Fv		# GUSISpecificData<GUSIBuiltinServiceDB::Entry, &.GUSIKillBuiltinServiceDBEntry>::~GUSISpecificData()
get__64GUSISpecificData<Q213GUSIServiceDB4Data,&.GUSIKillServiceDBData>FP17GUSISpecificTable		# GUSISpecificData<GUSIServiceDB::Data, &.GUSIKillServiceDBData>::get(GUSISpecificTable*)
get__80GUSISpecificData<Q220GUSIBuiltinServiceDB5Entry,&.GUSIKillBuiltinServiceDBEntry>FP17GUSISpecificTable		# GUSISpecificData<GUSIBuiltinServiceDB::Entry, &.GUSIKillBuiltinServiceDBEntry>::get(GUSISpecificTable*)
__dt__17GUSIFileServiceDBFv		# GUSIFileServiceDB::~GUSIFileServiceDB()
__dt__20GUSIBuiltinServiceDBFv		# GUSIBuiltinServiceDB::~GUSIBuiltinServiceDB()
__ct__11GUSIserventFv		# GUSIservent::GUSIservent()
GUSIKillHostEnt
Alloc__11GUSIhostentFUl		# GUSIhostent::Alloc(unsigned long)
__ct__11GUSIhostentFv		# GUSIhostent::GUSIhostent()
Instance__13GUSIServiceDBFv		# GUSIServiceDB::Instance()
GUSIKillServiceDBData
Next__20GUSIBuiltinServiceDBFv		# GUSIBuiltinServiceDB::Next()
Reset__20GUSIBuiltinServiceDBFv		# GUSIBuiltinServiceDB::Reset()
GUSIKillBuiltinServiceDBEntry
Next__17GUSIFileServiceDBFv		# GUSIFileServiceDB::Next()
Reset__17GUSIFileServiceDBFv		# GUSIFileServiceDB::Reset()
__dt__13GUSIServiceDBFv		# GUSIServiceDB::~GUSIServiceDB()
Instance__17GUSIFileServiceDBFv		# GUSIFileServiceDB::Instance()
getprotobynumber__9GUSINetDBFi		# GUSINetDB::getprotobynumber(int)
getprotobyname__9GUSINetDBFPCc		# GUSINetDB::getprotobyname(const char*)
endprotoent__9GUSINetDBFv		# GUSINetDB::endprotoent()
setprotoent__9GUSINetDBFi		# GUSINetDB::setprotoent(int)
getprotoent__9GUSINetDBFv		# GUSINetDB::getprotoent()
getservbyport__9GUSINetDBFiPCc		# GUSINetDB::getservbyport(int,const char*)
getservbyname__9GUSINetDBFPCcPCc		# GUSINetDB::getservbyname(const char*,const char*)
endservent__9GUSINetDBFv		# GUSINetDB::endservent()
setservent__9GUSINetDBFi		# GUSINetDB::setservent(int)
getservent__9GUSINetDBFv		# GUSINetDB::getservent()
gethostname__9GUSINetDBFPci		# GUSINetDB::gethostname(char*,int)
gethostid__9GUSINetDBFv		# GUSINetDB::gethostid()
inet_addr__9GUSINetDBFPCc		# GUSINetDB::inet_addr(const char*)
inet_ntoa__9GUSINetDBF7in_addr		# GUSINetDB::inet_ntoa(in_addr)
gethostbyaddr__9GUSINetDBFPCvUli		# GUSINetDB::gethostbyaddr(const void*,unsigned long,int)
gethostbyname__9GUSINetDBFPCc		# GUSINetDB::gethostbyname(const char*)
__ct__9GUSINetDBFv		# GUSINetDB::GUSINetDB()
Instance__9GUSINetDBFv		# GUSINetDB::Instance()
__vt__14GUSINullSocket		# GUSINullSocket::__vt
__vt__14GUSINullDevice		# GUSINullDevice::__vt
sInstance__14GUSINullDevice		# GUSINullDevice::sInstance
__dt__14GUSINullDeviceFv		# GUSINullDevice::~GUSINullDevice()
__dt__14GUSINullSocketFv		# GUSINullSocket::~GUSINullSocket()
Supports__14GUSINullSocketFQ210GUSISocket12ConfigOption		# GUSINullSocket::Supports(GUSISocket::ConfigOption)
fstat__14GUSINullSocketFP4stat		# GUSINullSocket::fstat(stat*)
write__14GUSINullSocketFRC12GUSIGatherer		# GUSINullSocket::write(const GUSIGatherer&)
read__14GUSINullSocketFRC13GUSIScatterer		# GUSINullSocket::read(const GUSIScatterer&)
__ct__14GUSINullSocketFv		# GUSINullSocket::GUSINullSocket()
stat__14GUSINullDeviceFR13GUSIFileTokenP4stat		# GUSINullDevice::stat(GUSIFileToken&,stat*)
open__14GUSINullDeviceFv		# GUSINullDevice::open()
open__14GUSINullDeviceFR13GUSIFileTokeni		# GUSINullDevice::open(GUSIFileToken&,int)
Want__14GUSINullDeviceFR13GUSIFileToken		# GUSINullDevice::Want(GUSIFileToken&)
GUSIwithNullSockets
__vt__13GUSIScatterer		# GUSIScatterer::__vt
__vt__20GUSIOTDatagramSocket		# GUSIOTDatagramSocket::__vt
__vt__18GUSIOTStreamSocket		# GUSIOTStreamSocket::__vt
__vt__12GUSIOTSocket		# GUSIOTSocket::__vt
__vt__14GUSIOTStrategy		# GUSIOTStrategy::__vt
__vt__21GUSIOTDatagramFactory		# GUSIOTDatagramFactory::__vt
__vt__13GUSIOTFactory		# GUSIOTFactory::__vt
__vt__19GUSIOTStreamFactory		# GUSIOTStreamFactory::__vt
sOK__13GUSIOTFactory		# GUSIOTFactory::sOK
__dt__19GUSIOTStreamFactoryFv		# GUSIOTStreamFactory::~GUSIOTStreamFactory()
__dt__13GUSIOTFactoryFv		# GUSIOTFactory::~GUSIOTFactory()
__dt__21GUSIOTDatagramFactoryFv		# GUSIOTDatagramFactory::~GUSIOTDatagramFactory()
select__20GUSIOTDatagramSocketFPbPbPb		# GUSIOTDatagramSocket::select(bool*,bool*,bool*)
__dt__Q23std80auto_ptr<24GUSIOTAddr<9TUnitData,5>,Q23std35_Single<24GUSIOTAddr<9TUnitData,5>>>Fv		# std::auto_ptr<GUSIOTAddr<TUnitData, 5>, std::_Single<GUSIOTAddr<TUnitData, 5>>>::~auto_ptr()
sendto__20GUSIOTDatagramSocketFRC12GUSIGathereriPCvUi		# GUSIOTDatagramSocket::sendto(const GUSIGatherer&,int,const void*,unsigned int)
__dt__13GUSIScattererFv		# GUSIScatterer::~GUSIScatterer()
recvfrom__20GUSIOTDatagramSocketFRC13GUSIScattereriPvPUi		# GUSIOTDatagramSocket::recvfrom(const GUSIScatterer&,int,void*,unsigned int*)
connect__20GUSIOTDatagramSocketFPvUi		# GUSIOTDatagramSocket::connect(void*,unsigned int)
getpeername__20GUSIOTDatagramSocketFPvPUi		# GUSIOTDatagramSocket::getpeername(void*,unsigned int*)
BindIfUnbound__20GUSIOTDatagramSocketFv		# GUSIOTDatagramSocket::BindIfUnbound()
__dt__20GUSIOTDatagramSocketFv		# GUSIOTDatagramSocket::~GUSIOTDatagramSocket()
Clone__20GUSIOTDatagramSocketFv		# GUSIOTDatagramSocket::Clone()
__ct__20GUSIOTDatagramSocketFP14GUSIOTStrategy		# GUSIOTDatagramSocket::GUSIOTDatagramSocket(GUSIOTStrategy*)
shutdown__18GUSIOTStreamSocketFi		# GUSIOTStreamSocket::shutdown(int)
select__18GUSIOTStreamSocketFPbPbPb		# GUSIOTStreamSocket::select(bool*,bool*,bool*)
sendto__18GUSIOTStreamSocketFRC12GUSIGathereriPCvUi		# GUSIOTStreamSocket::sendto(const GUSIGatherer&,int,const void*,unsigned int)
__dt__Q210GUSISocket17AddContextInScopeFv		# GUSISocket::AddContextInScope::~AddContextInScope()
recvfrom__18GUSIOTStreamSocketFRC13GUSIScattereriPvPUi		# GUSIOTStreamSocket::recvfrom(const GUSIScatterer&,int,void*,unsigned int*)
connect__18GUSIOTStreamSocketFPvUi		# GUSIOTStreamSocket::connect(void*,unsigned int)
accept__18GUSIOTStreamSocketFPvPUi		# GUSIOTStreamSocket::accept(void*,unsigned int*)
getpeername__18GUSIOTStreamSocketFPvPUi		# GUSIOTStreamSocket::getpeername(void*,unsigned int*)
listen__18GUSIOTStreamSocketFi		# GUSIOTStreamSocket::listen(int)
MopupEvents__18GUSIOTStreamSocketFv		# GUSIOTStreamSocket::MopupEvents()
Close__18GUSIOTStreamSocketFUl		# GUSIOTStreamSocket::Close(unsigned long)
__dt__18GUSIOTStreamSocketFv		# GUSIOTStreamSocket::~GUSIOTStreamSocket()
close__18GUSIOTStreamSocketFv		# GUSIOTStreamSocket::close()
Clone__18GUSIOTStreamSocketFv		# GUSIOTStreamSocket::Clone()
__ct__18GUSIOTStreamSocketFP14GUSIOTStrategy		# GUSIOTStreamSocket::GUSIOTStreamSocket(GUSIOTStrategy*)
Supports__12GUSIOTSocketFQ210GUSISocket12ConfigOption		# GUSIOTSocket::Supports(GUSISocket::ConfigOption)
setsockopt__12GUSIOTSocketFiiPvUi		# GUSIOTSocket::setsockopt(int,int,void*,unsigned int)
getsockopt__12GUSIOTSocketFiiPvPUi		# GUSIOTSocket::getsockopt(int,int,void*,unsigned int*)
ioctl__12GUSIOTSocketFUiPc		# GUSIOTSocket::ioctl(unsigned int,char*)
fcntl__12GUSIOTSocketFiPc		# GUSIOTSocket::fcntl(int,char*)
shutdown__12GUSIOTSocketFi		# GUSIOTSocket::shutdown(int)
getsockname__12GUSIOTSocketFPvPUi		# GUSIOTSocket::getsockname(void*,unsigned int*)
Unbind__12GUSIOTSocketFv		# GUSIOTSocket::Unbind()
BindToAddress__12GUSIOTSocketFP20GUSIOTAddr<5TBind,1>		# GUSIOTSocket::BindToAddress(GUSIOTAddr<TBind, 1>*)
bind__12GUSIOTSocketFPvUi		# GUSIOTSocket::bind(void*,unsigned int)
__dt__12GUSIOTSocketFv		# GUSIOTSocket::~GUSIOTSocket()
close__12GUSIOTSocketFv		# GUSIOTSocket::close()
__ct__12GUSIOTSocketFP14GUSIOTStrategy		# GUSIOTSocket::GUSIOTSocket(GUSIOTStrategy*)
__dt__Q212GUSIOTSocket4LockFv		# GUSIOTSocket::Lock::~Lock()
MopupEvents__12GUSIOTSocketFv		# GUSIOTSocket::MopupEvents()
CopyAddress__14GUSIOTStrategyFRC7TNetbufR7TNetbuf		# GUSIOTStrategy::CopyAddress(const TNetbuf&,TNetbuf&)
__dt__14GUSIOTStrategyFv		# GUSIOTStrategy::~GUSIOTStrategy()
CreateConfiguration__14GUSIOTStrategyFv		# GUSIOTStrategy::CreateConfiguration()
socket__21GUSIOTDatagramFactoryFiii		# GUSIOTDatagramFactory::socket(int,int,int)
socket__19GUSIOTStreamFactoryFiii		# GUSIOTStreamFactory::socket(int,int,int)
Initialize__13GUSIOTFactoryFv		# GUSIOTFactory::Initialize()
GUSIOTNotify
__vt__15GUSIOTUdpSocket		# GUSIOTUdpSocket::__vt
__vt__17GUSIOTUdpStrategy		# GUSIOTUdpStrategy::__vt
__vt__15GUSIOTTcpSocket		# GUSIOTTcpSocket::__vt
__vt__17GUSIOTTcpStrategy		# GUSIOTTcpStrategy::__vt
__vt__18GUSIOTInetStrategy		# GUSIOTInetStrategy::__vt
__vt__16GUSIOTUdpFactory		# GUSIOTUdpFactory::__vt
__vt__16GUSIOTTcpFactory		# GUSIOTTcpFactory::__vt
sInstance__16GUSIOTUdpFactory		# GUSIOTUdpFactory::sInstance
sInstance__16GUSIOTTcpFactory		# GUSIOTTcpFactory::sInstance
__dt__16GUSIOTTcpFactoryFv		# GUSIOTTcpFactory::~GUSIOTTcpFactory()
__dt__16GUSIOTUdpFactoryFv		# GUSIOTUdpFactory::~GUSIOTUdpFactory()
__dt__17GUSIOTTcpStrategyFv		# GUSIOTTcpStrategy::~GUSIOTTcpStrategy()
__dt__15GUSIOTTcpSocketFv		# GUSIOTTcpSocket::~GUSIOTTcpSocket()
__dt__17GUSIOTUdpStrategyFv		# GUSIOTUdpStrategy::~GUSIOTUdpStrategy()
__dt__15GUSIOTUdpSocketFv		# GUSIOTUdpSocket::~GUSIOTUdpSocket()
GUSIwithOTInetSockets
GUSIwithOTUdpSockets
GUSIwithOTTcpSockets
ioctl__15GUSIOTUdpSocketFUiPc		# GUSIOTUdpSocket::ioctl(unsigned int,char*)
setsockopt__15GUSIOTUdpSocketFiiPvUi		# GUSIOTUdpSocket::setsockopt(int,int,void*,unsigned int)
getsockopt__15GUSIOTUdpSocketFiiPvPUi		# GUSIOTUdpSocket::getsockopt(int,int,void*,unsigned int*)
Clone__15GUSIOTUdpSocketFv		# GUSIOTUdpSocket::Clone()
ConfigPath__17GUSIOTUdpStrategyFv		# GUSIOTUdpStrategy::ConfigPath()
ioctl__15GUSIOTTcpSocketFUiPc		# GUSIOTTcpSocket::ioctl(unsigned int,char*)
setsockopt__15GUSIOTTcpSocketFiiPvUi		# GUSIOTTcpSocket::setsockopt(int,int,void*,unsigned int)
getsockopt__15GUSIOTTcpSocketFiiPvPUi		# GUSIOTTcpSocket::getsockopt(int,int,void*,unsigned int*)
Clone__15GUSIOTTcpSocketFv		# GUSIOTTcpSocket::Clone()
ConfigPath__17GUSIOTTcpStrategyFv		# GUSIOTTcpStrategy::ConfigPath()
DoIoctl__18GUSIOTMInetOptionsFPiUiPc		# GUSIOTMInetOptions::DoIoctl(int*,unsigned int,char*)
DoSetSockOpt__18GUSIOTMInetOptionsFPiP9TEndpointiiPvUi		# GUSIOTMInetOptions::DoSetSockOpt(int*,TEndpoint*,int,int,void*,unsigned int)
DoGetSockOpt__18GUSIOTMInetOptionsFPiP9TEndpointiiPvPUi		# GUSIOTMInetOptions::DoGetSockOpt(int*,TEndpoint*,int,int,void*,unsigned int*)
UnpackAddress__18GUSIOTInetStrategyFRC7TNetbufPvPUi		# GUSIOTInetStrategy::UnpackAddress(const TNetbuf&,void*,unsigned int*)
PackAddress__18GUSIOTInetStrategyFPCvUiR7TNetbufb		# GUSIOTInetStrategy::PackAddress(const void*,unsigned int,TNetbuf&,bool)
socket__16GUSIOTUdpFactoryFiii		# GUSIOTUdpFactory::socket(int,int,int)
Strategy__16GUSIOTUdpFactoryFiii		# GUSIOTUdpFactory::Strategy(int,int,int)
Instance__16GUSIOTUdpFactoryFv		# GUSIOTUdpFactory::Instance()
socket__16GUSIOTTcpFactoryFiii		# GUSIOTTcpFactory::socket(int,int,int)
__dt__18GUSIOTInetStrategyFv		# GUSIOTInetStrategy::~GUSIOTInetStrategy()
Strategy__16GUSIOTTcpFactoryFiii		# GUSIOTTcpFactory::Strategy(int,int,int)
Instance__16GUSIOTTcpFactoryFv		# GUSIOTTcpFactory::Instance()
__vt__11GUSIOTNetDB		# GUSIOTNetDB::__vt
__dt__11GUSIOTNetDBFv		# GUSIOTNetDB::~GUSIOTNetDB()
gethostid__11GUSIOTNetDBFv		# GUSIOTNetDB::gethostid()
inet_ntoa__11GUSIOTNetDBF7in_addr		# GUSIOTNetDB::inet_ntoa(in_addr)
gethostbyaddr__11GUSIOTNetDBFPCvUli		# GUSIOTNetDB::gethostbyaddr(const void*,unsigned long,int)
gethostbyname__11GUSIOTNetDBFPCc		# GUSIOTNetDB::gethostbyname(const char*)
Resolver__11GUSIOTNetDBFv		# GUSIOTNetDB::Resolver()
Instantiate__11GUSIOTNetDBFv		# GUSIOTNetDB::Instantiate()
__ct__11GUSIOTNetDBFv		# GUSIOTNetDB::GUSIOTNetDB()
GUSIOTNetDBNotify
__vt__14GUSIPipeSocket		# GUSIPipeSocket::__vt
__vt__15GUSIPipeFactory		# GUSIPipeFactory::__vt
sInstance__15GUSIPipeFactory		# GUSIPipeFactory::sInstance
__dt__15GUSIPipeFactoryFv		# GUSIPipeFactory::~GUSIPipeFactory()
shutdown__14GUSIPipeSocketFi		# GUSIPipeSocket::shutdown(int)
__dt__14GUSIPipeSocketFv		# GUSIPipeSocket::~GUSIPipeSocket()
select__14GUSIPipeSocketFPbPbPb		# GUSIPipeSocket::select(bool*,bool*,bool*)
write__14GUSIPipeSocketFRC12GUSIGatherer		# GUSIPipeSocket::write(const GUSIGatherer&)
read__14GUSIPipeSocketFRC13GUSIScatterer		# GUSIPipeSocket::read(const GUSIScatterer&)
Supports__14GUSIPipeSocketFQ210GUSISocket12ConfigOption		# GUSIPipeSocket::Supports(GUSISocket::ConfigOption)
WakeupPeer__14GUSIPipeSocketFv		# GUSIPipeSocket::WakeupPeer()
__ct__14GUSIPipeSocketFv		# GUSIPipeSocket::GUSIPipeSocket()
__dt__14GUSIErrorSaverFv		# GUSIErrorSaver::~GUSIErrorSaver()
socketpair__15GUSIPipeFactoryFiiiPP10GUSISocket		# GUSIPipeFactory::socketpair(int,int,int,GUSISocket**)
socket__15GUSIPipeFactoryFiii		# GUSIPipeFactory::socket(int,int,int)
GUSIwithLocalSockets
__vt__12GUSIGatherer		# GUSIGatherer::__vt
get__40GUSISpecificData<Q23std2tm,&.GUSIKillTM>FP17GUSISpecificTable		# GUSISpecificData<std::tm, &.GUSIKillTM>::get(GUSISpecificTable*)
faccess__FPCcPUiPv		# faccess(const char*,unsigned int*,void*)
fsetfileinfo
fgetfileinfo
getservent
getservbyport
getservbyname
getprotoent
getprotobynumber
getprotobyname
gethostbyname
gethostbyaddr
endservent
endprotoent
setservent
setprotoent
gethostname
gethostid
inet_ntoa
inet_addr
inet_aton
readlink
symlink
usleep
truncate
ftruncate
setsockopt
getsockopt
ioctl
shutdown
getpeername
getsockname
select
sendmsg
sendto
send
writev
recvmsg
recvfrom
recv
readv
accept
listen
connect
bind
socketpair
socket
getdtablesize
mktime
gmtime
localtime
__dt__40GUSISpecificData<Q23std2tm,&.GUSIKillTM>Fv		# GUSISpecificData<std::tm, &.GUSIKillTM>::~GUSISpecificData()
GUSIKillTM
gettimeofday
time
getcwd
chdir
closedir
rewinddir
seekdir
telldir
readdir
opendir
rmdir
mkdir
access
utime
chmod
lstat
stat
rename
unlink
remove
creat
open
sleep
isatty
lseek
fstat
dup2
dup
fcntl
__dt__12GUSIGathererFv		# GUSIGatherer::~GUSIGatherer()
write
read
close
fsync
pipe
__vt__13GUSIPPCSocket		# GUSIPPCSocket::__vt
__vt__14GUSIPPCFactory		# GUSIPPCFactory::__vt
sDoneProc__13GUSIPPCSocket		# GUSIPPCSocket::sDoneProc
sListenProc__13GUSIPPCSocket		# GUSIPPCSocket::sListenProc
sRecvProc__13GUSIPPCSocket		# GUSIPPCSocket::sRecvProc
sSendProc__13GUSIPPCSocket		# GUSIPPCSocket::sSendProc
sInstance__14GUSIPPCFactory		# GUSIPPCFactory::sInstance
__dt__14GUSIPPCFactoryFv		# GUSIPPCFactory::~GUSIPPCFactory()
GUSIPPCListen__FP13GUSIPPCSocket		# GUSIPPCListen(GUSIPPCSocket*)
GUSIPPCRecv__FP13GUSIPPCSocket		# GUSIPPCRecv(GUSIPPCSocket*)
GUSIPPCSend__FP13GUSIPPCSocket		# GUSIPPCSend(GUSIPPCSocket*)
__dt__13GUSIPPCSocketFv		# GUSIPPCSocket::~GUSIPPCSocket()
shutdown__13GUSIPPCSocketFi		# GUSIPPCSocket::shutdown(int)
ioctl__13GUSIPPCSocketFUiPc		# GUSIPPCSocket::ioctl(unsigned int,char*)
fcntl__13GUSIPPCSocketFiPc		# GUSIPPCSocket::fcntl(int,char*)
select__13GUSIPPCSocketFPbPbPb		# GUSIPPCSocket::select(bool*,bool*,bool*)
sendto__13GUSIPPCSocketFRC12GUSIGathereriPCvUi		# GUSIPPCSocket::sendto(const GUSIGatherer&,int,const void*,unsigned int)
recvfrom__13GUSIPPCSocketFRC13GUSIScattereriPvPUi		# GUSIPPCSocket::recvfrom(const GUSIScatterer&,int,void*,unsigned int*)
Supports__13GUSIPPCSocketFQ210GUSISocket12ConfigOption		# GUSIPPCSocket::Supports(GUSISocket::ConfigOption)
__ct__13GUSIPPCSocketFP13GUSIPPCSocketRQ213GUSIPPCSocket8Listener		# GUSIPPCSocket::GUSIPPCSocket(GUSIPPCSocket*,GUSIPPCSocket::Listener&)
accept__13GUSIPPCSocketFPvPUi		# GUSIPPCSocket::accept(void*,unsigned int*)
listen__13GUSIPPCSocketFi		# GUSIPPCSocket::listen(int)
connect__13GUSIPPCSocketFPvUi		# GUSIPPCSocket::connect(void*,unsigned int)
bind__13GUSIPPCSocketFPvUi		# GUSIPPCSocket::bind(void*,unsigned int)
__ct__13GUSIPPCSocketFv		# GUSIPPCSocket::GUSIPPCSocket()
GUSIPPCDone__FP16PPCParamBlockRec		# GUSIPPCDone(PPCParamBlockRec*)
GUSIPPCListenDone__FP16PPCParamBlockRec		# GUSIPPCListenDone(PPCParamBlockRec*)
GUSIPPCRecvDone__FP16PPCParamBlockRec		# GUSIPPCRecvDone(PPCParamBlockRec*)
GUSIPPCSendDone__FP16PPCParamBlockRec		# GUSIPPCSendDone(PPCParamBlockRec*)
SetupListener__13GUSIPPCSocketFRQ213GUSIPPCSocket8Listener		# GUSIPPCSocket::SetupListener(GUSIPPCSocket::Listener&)
socket__14GUSIPPCFactoryFiii		# GUSIPPCFactory::socket(int,int,int)
GUSIwithPPCSockets
sDefault__15GUSIPThreadAttr		# GUSIPThreadAttr::sDefault
sDefaultAttr__15GUSIPThreadAttr		# GUSIPThreadAttr::sDefaultAttr
sched_yield
pthread_once
pthread_equal
pthread_self
pthread_cond_broadcast
pthread_cond_signal
pthread_cond_timedwait
pthread_cond_wait
pthread_cond_destroy
pthread_cond_init
pthread_condattr_destroy
pthread_condattr_init
pthread_mutex_unlock
pthread_mutex_trylock
pthread_mutex_lock
pthread_mutex_destroy
pthread_mutex_init
pthread_mutexattr_destroy
pthread_mutexattr_init
pthread_setspecific
pthread_getspecific
pthread_key_delete
pthread_key_create
pthread_exit
pthread_join
pthread_detach
pthread_create
pthread_attr_setstacksize
pthread_attr_getstacksize
pthread_attr_setdetachstate
pthread_attr_getdetachstate
pthread_attr_destroy
pthread_attr_init
__vt__10GUSISocket		# GUSISocket::__vt
fstat__10GUSISocketFP4stat		# GUSISocket::fstat(stat*)
sendmsg__10GUSISocketFPC6msghdri		# GUSISocket::sendmsg(const msghdr*,int)
sendto__10GUSISocketFRC12GUSIGathereriPCvUi		# GUSISocket::sendto(const GUSIGatherer&,int,const void*,unsigned int)
write__10GUSISocketFRC12GUSIGatherer		# GUSISocket::write(const GUSIGatherer&)
recvmsg__10GUSISocketFP6msghdri		# GUSISocket::recvmsg(msghdr*,int)
recvfrom__10GUSISocketFRC13GUSIScattereriPvPUi		# GUSISocket::recvfrom(const GUSIScatterer&,int,void*,unsigned int*)
read__10GUSISocketFRC13GUSIScatterer		# GUSISocket::read(const GUSIScatterer&)
select__10GUSISocketFPbPbPb		# GUSISocket::select(bool*,bool*,bool*)
post_select__10GUSISocketFbbb		# GUSISocket::post_select(bool,bool,bool)
pre_select__10GUSISocketFbbb		# GUSISocket::pre_select(bool,bool,bool)
isatty__10GUSISocketFv		# GUSISocket::isatty()
fsync__10GUSISocketFv		# GUSISocket::fsync()
lseek__10GUSISocketFli		# GUSISocket::lseek(long,int)
accept__10GUSISocketFPvPUi		# GUSISocket::accept(void*,unsigned int*)
shutdown__10GUSISocketFi		# GUSISocket::shutdown(int)
ftruncate__10GUSISocketFl		# GUSISocket::ftruncate(long)
ioctl__10GUSISocketFUiPc		# GUSISocket::ioctl(unsigned int,char*)
fcntl__10GUSISocketFiPc		# GUSISocket::fcntl(int,char*)
setsockopt__10GUSISocketFiiPvUi		# GUSISocket::setsockopt(int,int,void*,unsigned int)
getsockopt__10GUSISocketFiiPvPUi		# GUSISocket::getsockopt(int,int,void*,unsigned int*)
connect__10GUSISocketFPvUi		# GUSISocket::connect(void*,unsigned int)
listen__10GUSISocketFi		# GUSISocket::listen(int)
getpeername__10GUSISocketFPvPUi		# GUSISocket::getpeername(void*,unsigned int*)
getsockname__10GUSISocketFPvPUi		# GUSISocket::getsockname(void*,unsigned int*)
bind__10GUSISocketFPvUi		# GUSISocket::bind(void*,unsigned int)
RemoveContext__10GUSISocketFP11GUSIContext		# GUSISocket::RemoveContext(GUSIContext*)
AddContext__10GUSISocketFP11GUSIContext		# GUSISocket::AddContext(GUSIContext*)
__dt__10GUSISocketFv		# GUSISocket::~GUSISocket()
Close__10GUSISocketFUl		# GUSISocket::Close(unsigned long)
CheckClose__10GUSISocketFUl		# GUSISocket::CheckClose(unsigned long)
close__10GUSISocketFv		# GUSISocket::close()
Dequeue__10GUSISocketFv		# GUSISocket::Dequeue()
Enqueue__10GUSISocketFPP10GUSISocket		# GUSISocket::Enqueue(GUSISocket**)
Supports__10GUSISocketFQ210GUSISocket12ConfigOption		# GUSISocket::Supports(GUSISocket::ConfigOption)
__ct__10GUSISocketFv		# GUSISocket::GUSISocket()
__ct__10GUSImsghdrFRC13GUSIScattGathPCvUi		# GUSImsghdr::GUSImsghdr(const GUSIScattGath&,const void*,unsigned int)
sKeyAlloc__17GUSISpecificTable		# GUSISpecificTable::sKeyAlloc
sKeys__17GUSISpecificTable		# GUSISpecificTable::sKeys
sNextID__12GUSISpecific		# GUSISpecific::sNextID
Destruct__17GUSISpecificTableFP12GUSISpecific		# GUSISpecificTable::Destruct(GUSISpecific*)
Register__17GUSISpecificTableFP12GUSISpecific		# GUSISpecificTable::Register(GUSISpecific*)
DeleteSpecific__17GUSISpecificTableFPC12GUSISpecific		# GUSISpecificTable::DeleteSpecific(const GUSISpecific*)
SetSpecific__17GUSISpecificTableFPC12GUSISpecificPv		# GUSISpecificTable::SetSpecific(const GUSISpecific*,void*)
__dt__17GUSISpecificTableFv		# GUSISpecificTable::~GUSISpecificTable()
__vt__9GUSITimer		# GUSITimer::__vt
sTimerQueue__9GUSITimer		# GUSITimer::sTimerQueue
sTimerProc__9GUSITimer		# GUSITimer::sTimerProc
sTimeZone__8GUSITime		# GUSITime::sTimeZone
sTimeOffset__8GUSITime		# GUSITime::sTimeOffset
__dt__53GUSISpecificData<Q29GUSITimer5Queue,&.GUSIKillTimers>Fv		# GUSISpecificData<GUSITimer::Queue, &.GUSIKillTimers>::~GUSISpecificData()
get__53GUSISpecificData<Q29GUSITimer5Queue,&.GUSIKillTimers>FP17GUSISpecificTable		# GUSISpecificData<GUSITimer::Queue, &.GUSIKillTimers>::get(GUSISpecificTable*)
__dt__9GUSITimerFv		# GUSITimer::~GUSITimer()
Kill__9GUSITimerFv		# GUSITimer::Kill()
Sleep__9GUSITimerFlb		# GUSITimer::Sleep(long,bool)
__ct__9GUSITimerFbP11GUSIContext		# GUSITimer::GUSITimer(bool,GUSIContext*)
GUSIKillTimers
__dt__Q29GUSITimer10TimerQueueFv		# GUSITimer::TimerQueue::~TimerQueue()
Wakeup__9GUSITimerFv		# GUSITimer::Wakeup()
GM2LocalTime__8GUSITimeFv		# GUSITime::GM2LocalTime()
Local2GMTime__8GUSITimeFv		# GUSITime::Local2GMTime()
Zone__8GUSITimeFv		# GUSITime::Zone()
Now__8GUSITimeFv		# GUSITime::Now()
__ct__8GUSITimeFRCQ23std2tm		# GUSITime::GUSITime(const std::tm&)
__opQ23std2tm__8GUSITimeFv		# GUSITime::operator std::tm()
__op8timespec__8GUSITimeFv		# GUSITime::operator timespec()
__op7timeval__8GUSITimeFv		# GUSITime::operator timeval()
Deconstruct__8GUSITimeFRx		# GUSITime::Deconstruct(long long&)
Get64__8GUSITimeFQ28GUSITime6Format		# GUSITime::Get64(GUSITime::Format)
__ct__8GUSITimeFRC8timespec		# GUSITime::GUSITime(const timespec&)
__ct__8GUSITimeFRC7timeval		# GUSITime::GUSITime(const timeval&)
Construct__8GUSITimeFxQ28GUSITime6Format		# GUSITime::Construct(long long,GUSITime::Format)
__vt__9GUSIAlarm		# GUSIAlarm::__vt
__vt__14GUSISigFactory		# GUSISigFactory::__vt
__vt__14GUSISigProcess		# GUSISigProcess::__vt
__vt__14GUSISigContext		# GUSISigContext::__vt
ualarm
__dt__9GUSIAlarmFv		# GUSIAlarm::~GUSIAlarm()
__dt__Q23std48auto_ptr<9GUSIAlarm,Q23std19_Single<9GUSIAlarm>>Fv		# std::auto_ptr<GUSIAlarm, std::_Single<GUSIAlarm>>::~auto_ptr()
alarm
Restart__9GUSIAlarmFl		# GUSIAlarm::Restart(long)
Wakeup__9GUSIAlarmFv		# GUSIAlarm::Wakeup()
_exit
abort__Fv		# abort()
sigwait
pause
sigsuspend
sigprocmask
pthread_sigmask
sigpending
signal
sigaction
pthread_kill
raise
sigismember
sigfillset
sigemptyset
sigdelset
sigaddset
CreateSigContext__14GUSISigFactoryFPC14GUSISigContext		# GUSISigFactory::CreateSigContext(const GUSISigContext*)
CreateSigProcess__14GUSISigFactoryFv		# GUSISigFactory::CreateSigProcess()
__dt__14GUSISigFactoryFv		# GUSISigFactory::~GUSISigFactory()
__dt__Q23std60auto_ptr<14GUSISigFactory,Q23std25_Single<14GUSISigFactory>>Fv		# std::auto_ptr<GUSISigFactory, std::_Single<GUSISigFactory>>::~auto_ptr()
SetInstance__14GUSISigFactoryFP14GUSISigFactory		# GUSISigFactory::SetInstance(GUSISigFactory*)
Instance__14GUSISigFactoryFv		# GUSISigFactory::Instance()
DefaultAction__14GUSISigProcessFiRC9sigaction		# GUSISigProcess::DefaultAction(int,const sigaction&)
Raise__14GUSISigProcessFiP14GUSISigContext		# GUSISigProcess::Raise(int,GUSISigContext*)
Post__14GUSISigProcessFi		# GUSISigProcess::Post(int)
ClearPending__14GUSISigProcessFUi		# GUSISigProcess::ClearPending(unsigned int)
Pending__14GUSISigProcessCFv		# GUSISigProcess::Pending() const
SetAction__14GUSISigProcessFiRC9sigaction		# GUSISigProcess::SetAction(int,const sigaction&)
CantIgnore__14GUSISigProcessFi		# GUSISigProcess::CantIgnore(int)
CantCatch__14GUSISigProcessFi		# GUSISigProcess::CantCatch(int)
GetAction__14GUSISigProcessFi		# GUSISigProcess::GetAction(int)
__dt__14GUSISigProcessFv		# GUSISigProcess::~GUSISigProcess()
__ct__14GUSISigProcessFv		# GUSISigProcess::GUSISigProcess()
Raise__14GUSISigContextFP14GUSISigProcessb		# GUSISigContext::Raise(GUSISigProcess*,bool)
Ready__14GUSISigContextFP14GUSISigProcess		# GUSISigContext::Ready(GUSISigProcess*)
Pending__14GUSISigContextCFP14GUSISigProcess		# GUSISigContext::Pending(GUSISigProcess*) const
Post__14GUSISigContextFi		# GUSISigContext::Post(int)
ClearPending__14GUSISigContextFUi		# GUSISigContext::ClearPending(unsigned int)
Pending__14GUSISigContextCFv		# GUSISigContext::Pending() const
SetBlocked__14GUSISigContextFUi		# GUSISigContext::SetBlocked(unsigned int)
GetBlocked__14GUSISigContextCFv		# GUSISigContext::GetBlocked() const
CantBlock__14GUSISigContextFv		# GUSISigContext::CantBlock()
__dt__14GUSISigContextFv		# GUSISigContext::~GUSISigContext()
__ct__14GUSISigContextFPC14GUSISigContext		# GUSISigContext::GUSISigContext(const GUSISigContext*)
atan
atan2
memmove
memcpy
pow
exp
log
log10
sqrt
strcmp
strlen
strncmp
sin
cos
atan_d_d
atan2_d_dd
atan_d_pd
atan2_d_pdpd
atan_r_r
atan2_r_rr
atan_r_pr
atan2_r_prpr
power_d_dd
exp_d_d
exp_d_pd
exp_r_r
exp_r_pr
log_d_d
log_d_pd
log10_d_d
log10_d_pd
sqrt_d_d
sqrt_d_pd
sqrt_r_r
sqrt_r_pr
sin_d_d
sin_d_pd
sin_r_r
sin_r_pr
cos_d_d
cos_d_pd
cos_r_r
cos_r_pr
__dc_arr
__del_arr
__new_arr
__init_arr
__copy
__som_check_ev
__som_check_new
__vt__Q23std13bad_exception		# std::bad_exception::__vt
__vt__Q23std9exception		# std::exception::__vt
what__Q23std9exceptionCFv		# std::exception::what() const
what__Q23std13bad_exceptionCFv		# std::bad_exception::what() const
__end__catch
__throw
__dt__Q23std9exceptionFv		# std::exception::~exception()
__unexpected
__dt__Q23std13bad_exceptionFv		# std::bad_exception::~bad_exception()
__unregister_fragment
__register_fragment
__global_destructor_chain
__destroy_global_chain
__register_global_object
__destroy_new_array3
__destroy_new_array2
__destroy_new_array
__destroy_arr
__construct_array
__dt__26__partial_array_destructorFv		# __partial_array_destructor::~__partial_array_destructor()
__construct_new_array
__throw_catch_compare
unexpected__3stdFv		# std::unexpected()
set_unexpected__3stdFPFv_v		# std::set_unexpected(void (*)(void))
terminate__3stdFv		# std::terminate()
set_terminate__3stdFPFv_v		# std::set_terminate(void (*)(void))
__vt__Q23std8bad_cast		# std::bad_cast::__vt
__vt__Q23std10bad_typeid		# std::bad_typeid::__vt
what__Q23std10bad_typeidCFv		# std::bad_typeid::what() const
what__Q23std8bad_castCFv		# std::bad_cast::what() const
__dynamic_cast
__dt__Q23std8bad_castFv		# std::bad_cast::~bad_cast()
__get_typeid
__dt__Q23std10bad_typeidFv		# std::bad_typeid::~bad_typeid()
nothrow__3std		# std::nothrow
__dla__FPvRCQ23std9nothrow_t		# operator delete[](void*,const std::nothrow_t&)
__dl__FPvRCQ23std9nothrow_t		# operator delete(void*,const std::nothrow_t&)
__dla__FPv		# operator delete[](void*)
__nwa__FUlRCQ23std9nothrow_t		# operator new[](unsigned long,const std::nothrow_t&)
__nwa__FUl		# operator new[](unsigned long)
__dl__FPv		# operator delete(void*)
__nw__FUlRCQ23std9nothrow_t		# operator new(unsigned long,const std::nothrow_t&)
__nw__FUl		# operator new(unsigned long)
__throws_bad_alloc__3std		# std::__throws_bad_alloc
__vt__Q23std9bad_alloc		# std::bad_alloc::__vt
__new_handler__3std		# std::__new_handler
what__Q23std9bad_allocCFv		# std::bad_alloc::what() const
__del_hdl
__new_hdl
set_new_handler__3stdFPFv_v		# std::set_new_handler(void (*)(void))
__throw_bad_alloc__3stdFv		# std::__throw_bad_alloc()
__dt__Q23std9bad_allocFv		# std::bad_alloc::~bad_alloc()
qd
exit
abort
__console_exit
__stdio_exit
__aborting
__exit
exit
__atexit
atexit
abort
fix_start
vec_free
vec_realloc
vec_calloc
vec_malloc
__pool_free_all
calloc
realloc
free
malloc
__msize
deallocate_from_fixed_pools
allocate_from_fixed_pools
__files
__flush_line_buffered_output_files
__flush_all
__close_all
__init_file
__find_unopened_file
__llmod
__lmod
__mod
__lldiv
__ldiv
__div
__llmul
__lmul
__mul
__lladd
__ladd
__add
lldiv
ldiv
div
llabs
labs
abs
__assertion_failed
bsearch
setbuf
setvbuf
__flush_buffer
__load_buffer
__prep_buffer
__convert_to_newlines
__convert_from_newlines
ccommand
puts
fputs
putchar
putc
fputc
__put_char
__ungotten
ungetc
gets
fgets
getchar
getc
fgetc
__get_char
__ctype_map
__lower_map
__upper_map
fwrite
fread
errno
_splitpath
_makepath
_strrev
_itow
_itoa
_strspnp
_strnset
_strset
_strdate
_strupr
_wstrrev
_strnicmp
_stricmp
_heapmin
_gcvt
_ultoa
_strlwr
_wcsspnp
_wcsnset
_wcsset
_wcsrev
_wcsnicmp
_wcsicmp
_wcsupr
_wcslwr
__temp_file_mode
__set_idle_proc
__get_file_modes
__handle_reopen
__handle_open
__reopen
freopen
fopen
fflush
fclose
tmpfile
tmpnam
__rename_file
__delete_file
__temp_file_name
rewind
fsetpos
fseek
_fseek
fgetpos
ftell
_ftell
__lconv
localeconv
setlocale
wcstombs
mbstowcs
wctomb
mbtowc
mblen
memcmp
__memrchr
memchr
memset
__fill_mem
__copy_longs_rev_unaligned
__copy_longs_unaligned
__copy_longs_rev_aligned
__copy_longs_aligned
__move_mem
__copy_mem
__stdio_atexit
perror
ferror
feof
clearerr
__path2fss
__sys_pointer_size
__sys_free
__sys_alloc
sprintf
snprintf
vsprintf
vsnprintf
vfprintf
vprintf
fprintf
printf
__StringWrite
__FileWrite
qsort
srand
rand
sscanf
vsscanf
vfscanf
scanf
fscanf
__StringRead
__FileRead
__strerror
strerror
strstr
strtok
strcspn
strspn
strpbrk
strrchr
strxfrm
strcoll
strchr
strncat
strcat
strncpy
strcpy
atof
strtod
strtold
__strtold
atol
atoi
strtoll
strtol
strtoull
strtoul
__strtoull
__strtoul
system
getenv
__month_to_days
strftime
ctime
asctime
difftime
clock
__leap_year
__to_gm_time
__get_time
__get_clock
_fcntl
_creat
_open
_mkdir
_fstat
_stat
_write
_unlink
_ttyname
_sleep
_rmdir
_read
_lseek
_isatty
_getlogin
_getcwd
_exec
_cuserid
_close
_chdir
__new_umask
_fileno
_umask
_ftype
_fcreator
_chmod
__gettype
__getcreator
__ctopstring
__system7present
utimes
_uname
__float_nan
__float_huge
__double_min
__double_max
__double_epsilon
__double_tiny
__double_huge
__double_nan
__extended_min
__extended_max
__extended_epsilon
__extended_tiny
__extended_huge
__extended_nan
fwide
fgetws
fputws
ungetwc
fgetwc
getwchar
getwc
fputwc
putwchar
putwc
watof
wcstod
__wcstold
watol
watoi
wcstoll
wcstol
wcstoull
wcstoul
__wcstoull
__wcstoul
wctrans
towctrans
__wctype_map
__wlower_map
__wupper_map
iswctype
wctype
wctob
wmemcmp
wmemchr
wmemset
wmemmove
wmemcpy
vswprintf
swprintf
vfwprintf
vwprintf
fwprintf
wprintf
__wStringWrite
__wFileWrite
swscanf
vswscanf
vfwscanf
vwscanf
wscanf
fwscanf
__wStringRead
__wFileRead
wcsstr
wcstok
wcscspn
wcsspn
wcspbrk
wcsrchr
wcsxfrm
wcscoll
wcschr
wcsncmp
wcscmp
wcsncat
wcscat
wcsncpy
wcscpy
wcslen
wcsftime
wctime
wasctime
__fminl
__fmaxl
__fdiml
__nextafterl
__remquol
__copysignl
__remainderl
__fmodl
__modfl
__truncl
llroundl
lroundl
__roundl
llrintl
lrintl
__rintl
__nearbyintl
__floorl
__ceill
__lgammal
__gammal
__erfcl
__erfl
__hypotl
__sqrtl
__powl
__fabsl
scalblnl
scalbnl
__logbl
__log2l
__log1pl
__expm1l
__exp2l
__log10l
__logl
__ldexpl
__frexpl
__expl
__atanhl
__asinhl
__acoshl
__tanhl
__sinhl
__coshl
__tanl
__sinl
__cosl
__atan2l
__atanl
__asinl
__acosl
fminf
fmaxf
fdimf
remquof
copysignf
remainderf
fmodf
truncf
llroundf
lroundf
roundf
llrintf
lrintf
rintf
nearbyintf
floorf
ceilf
lgammaf
gammaf
erfcf
erff
hypotf
sqrtf
powf
fabsf
scalblnf
scalbnf
logbf
log2f
log1pf
expm1f
exp2f
log10f
logf
ldexpf
frexpf
expf
atanhf
asinhf
acoshf
tanhf
sinhf
coshf
tanf
sinf
cosf
atan2f
atanf
asinf
acosf
nextafter
llround
lround
llrint
lrint
scalbln
scalbn
clrscr
getch
kbhit
SIOUXSetTitle
__ttyname
ReadCharsFromConsole
WriteCharsToConsole
RemoveConsole
InstallConsole
SIOUXHandleOneEvent
SIOUXisinrange
SIOUXDragRect
SIOUXBigRect
SIOUXSettings
SIOUXTextWindow
SIOUXState
SIOUXUseWaitNextEvent
SIOUXQuitting
SIOUXselstart
SIOUXDoMenuChoice
SIOUXDoEditSelectAll
SIOUXDoEditClear
SIOUXDoEditPaste
SIOUXDoEditCopy
SIOUXDoEditCut
SIOUXDoSaveText
SIOUXUpdateMenuItems
SIOUXSetupMenus
SIOUXDoPrintText
SIOUXDoPageSetup
SIOUXYesNoCancelAlert
SIOUXCantSaveAlert
SIOUXSetupTextWindow
SIOUXDoContentClick
SIOUXMyGrowWindow
SIOUXUpdateStatusLine
MoveScrollBox
SIOUXUpdateScrollbar
SIOUXUpdateWindow
SIOUXDrawGrowBox
AdjustText
SIOUXIsAppWindow
OTAsyncOpenInternetServices
OTOpenInternetServices
InitOpenTransportUtilities
CloseOpenTransport
OTRegisterAsClient
OTUnregisterAsClient
OTAllocMem
InitOpenTransport
OTAlloc
OTOpenProvider
OTOpenMapper
OTOpenEndpoint
OTAsyncOpenProvider
OTAsyncOpenMapper
OTAsyncOpenEndpoint
OTTransferProviderOwnership
OTWhoAmI
OTCloseProvider
t_alloc
t_open
t_close
__gOTClientRecord
InitOpenTransportCommon
SetupOpenTransport
__gLibraryManager
__gSLMGlobal
OTCreateDeferredTask
OTCreateSystemTask
OTOpenProviderOnStream
OTOpenEndpointOnStream
OTStreamOpen
OTAsyncStreamOpen
stream_open
stream_pipe
OTStreamPipe
AEGetDescData
AEGetDescDataSize
AEReplaceDescData
GetControlBounds
IsControlHilited
GetControlHilite
GetControlDataHandle
GetControlOwner
GetControlPopupMenuHandle
GetControlPopupMenuID
SetControlBounds
SetControlDataHandle
SetControlPopupMenuHandle
SetControlPopupMenuID
GetDialogWindow
GetDialogTextEditHandle
GetDialogDefaultItem
GetDialogCancelItem
GetDialogKeyboardFocusItem
SetPortDialogPort
GetDialogPort
GetDialogFromWindow
GetParamText
GetCorrectPort
GetPortPixMap
GetPortBounds
IsPortRegionBeingDefined
IsPortPictureBeingDefined
IsPortOffscreen
GetPortVisibleRegion
GetPortClipRegion
GetPortForeColor
GetPortBackColor
GetPortBackPixPatDirect
GetPortBackPixPat
GetPortPenPixPatDirect
GetPortPenPixPat
GetPortFillPixPat
GetPortTextFont
GetPortTextFace
GetPortTextMode
GetPortFracHPenLocation
GetPortChExtra
GetPortPenVisibility
GetPortSpExtra
GetPortTextSize
GetPortGrafProcs
GetPortOpColor
GetPortHiliteColor
GetPixBounds
GetPixDepth
GetPortPenSize
GetPortPenMode
GetPortPenLocation
GetPortPrintingReference
SetPortBounds
SetPortVisibleRegion
SetPortClipRegion
SetPortPenPixPatDirect
SetPortPenPixPat
SetPortBackPixPatDirect
SetPortBackPixPat
SetPortOpColor
SetPortPenSize
SetPortPenMode
SetPortFracHPenLocation
SetPortGrafProcs
SetPortPrintingReference
GetQDGlobalsRandomSeed
GetQDGlobalsScreenBits
GetQDGlobalsArrow
GetQDGlobalsDarkGray
GetQDGlobalsLightGray
GetQDGlobalsGray
GetQDGlobalsBlack
GetQDGlobalsWhite
GetQDGlobalsThePort
SetQDGlobalsArrow
SetQDGlobalsRandomSeed
GetRegionBounds
IsRegionRectangular
CreateNewPort
DisposePort
SetQDError
GetWindowPort
GetWindowKind
IsWindowVisible
IsWindowHilited
IsWindowUpdatePending
GetWindowGoAwayFlag
GetWindowSpareFlag
GetWindowStandardState
GetWindowUserState
SetWindowKind
SetWindowStandardState
SetWindowUserState
SetPortWindowPort
GetWindowPortBounds
GetWindowFromPort
IsTSMTEDialog
GetTSMTEDialogDocumentID
GetTSMTEDialogTSMTERecHandle
SetTSMTEDialogDocumentID
SetTSMTEDialogTSMTERecHandle
GetMenuID
GetMenuWidth
GetMenuHeight
GetMenuTitle
SetMenuID
SetMenuWidth
SetMenuHeight
SetMenuTitle
GetGlobalMouse
GetListViewBounds
GetListPort
GetListCellIndent
GetListCellSize
GetListVisibleCells
GetListVerticalScrollBar
GetListHorizontalScrollBar
GetListFlags
GetListSelectionFlags
GetListActive
GetListClickTime
GetListClickLocation
GetListMouseLocation
GetListClickLoop
GetListRefCon
GetListDefinition
GetListUserHandle
GetListDataBounds
GetListDataHandle
SetListViewBounds
SetListPort
SetListCellIndent
SetListClickTime
SetListClickLoop
SetListLastClick
SetListRefCon
SetListFlags
SetListSelectionFlags
SetListUserHandle
GrabSpecifiedCFMSymbol
CopyPascalStringToC
CopyCStringToPascal
p2cstrcpy
GetQDGlobals
GetWindowList
GetNextWindow
