2=.8      !"#$%&'()*+,-./01234567NoneG7=Reference to a shared object; can be sent to other processes.Write a shared object name into somwhere referenced by a handle. Useful for sending references to other processes via pipes.KRead a shared object name from somwhere referenced by a handle. Returns Nothing if hGetBuf gets less than 32F bytes. Useful for sending references to other processes via pipes.)Generate a new unique shared object name."Allocate a new shared object name.SUse a pointer to a C string to pass to some low-level (e.g. foreign) functions. , is asserted immutable, so do not modify it!8aCheck first if two CString point to the same memory location. Otherwise, compare them using C strcmp function.NoneNone"  [ is a quantity semaphore in which the resource is aqcuired and released in units of one.9)Opaque implementation-dependent semaphore  Build a new  N with a supplied initial quantity. The initial quantity must be at least 0.XThis function throws an exception if an underlying platform-dependent function fails. Lookup QSem by its name in the global namespace. Use this function to init several entangled semaphores in different processes.(This function throws an exception if no  P with this name exist, or if an underlying platform-dependent function fails.Get a global reference to the semaphore. Send this reference to another process to lookup this semaphore and start interprocess communication.#Wait for a unit to become availableXThis function throws an exception if an underlying platform-dependent function fails.Try to take a unit of the  .7This function does not wait, in fact. Sorry for naming.Returns:True if successfully took a unit of   (it is decremented)False+ if number of available units is less than 1 (it is not decremented)*This function does not throw an exception.Signal that a unit of the   is availableXThis function throws an exception if an underlying platform-dependent function fails.   :None16GK%L7Opaque pointer to the allocator type defined in C code.BSpecial pointer format to pass between memory spaces of processes. !"#$%%$#"! ;None.w,Make a portable shared pointer out of a regular pointer. The result can be transfered to another process and re-created using the shared .-IReconstruct a regular pointer from a portable shared pointer. Returns NULL. if shared pointer or allocator are not valid.. Create a new ./ Lookup a L by its name. Use this to share one allocator between multiple processes.0Destroy allocator instance. Note: memory is fully unlinked and released only after the last allocator sharing the memory is destroyed.,-./01234567,-./01234567<      !"#$%&'()*+,-./0123456789:;<=>?+interprocess-0.1.0.0-2ASh3VhFxhmDZebRqENBng!Foreign.SharedObjectName.InternalControl.Concurrent.Process.QSemForeign.SharedPtr.CForeign.SharedPtrForeign.SharedObjectNameSOName hPutSOName hGetSOName genSONamenewEmptySONameunsafeWithSOName$fStorableSOName $fOrdSOName $fEqSOName $fShowSONameQSemnewQSem lookupQSemqSemNamewaitQSem tryWaitQSem signalQSem Allocator SharedPtr c'shared_freec'shared_reallocc'shared_mallocc'shared_shPtrToPtrc'shared_ptrToShPtrc'shared_getStoreNamec'shared_destroyAllocatorc'shared_lookupAllocatorc'shared_createAllocator p'shared_freep'shared_reallocp'shared_mallocp'shared_shPtrToPtrp'shared_ptrToShPtrp'shared_getStoreNamep'shared_destroyAllocatorp'shared_lookupAllocatorp'shared_createAllocator $fEqSharedPtr$fOrdSharedPtr$fShowSharedPtr$fDataSharedPtr$fGenericSharedPtr$fStorableSharedPtr toSharedPtr fromSharedPtrcreateAllocatorlookupAllocatordestroyAllocatorwithNewAllocator withAllocatorallocStoreNamemalloc mallocBytesreallocfree cmpCStringsQSemT