Command
QisLib_OpenMemoryMaps

Purpose


Function:
	int QisLib_OpenMemoryMaps(const char* ScanFName,const char* LoadFName);

	Inputs:
		ScanFName: Name and path of the scan memory map file.
		LoadFName: Name and path of the load memory map file.

Return:
	success: 0
	failure: one of the following values :

Errors:
	-1: QisLib has not been intialised.
	-2: One or more specified map file names is invalid (possibly null).
	-3: One or more specified map files does not exist.
	-4: The specified files are not valid memory map files.
	-5: Internal memory error occurred during scanning.
	-6: Internal memory error occurred during loading.
	-7: Layer error, maximum 2048 different layer numbers allowed.
	-8: Layer error, maximum 256 different data type numbers allowed.
	-9: Layer error, maximum 65536 different layer:datatype combinations allowed.
	-10: Internal memory error while processing layers.
	-11: This program is not licensed to work with GDSII files.
	-12: No cells have been defined in the specified GDSII file.
	-18: Failed to read GDS data entities from the memory map.
	-19: Failed to use memory maps because of cell redefinition.
	-21: Failed to use memory maps because version is not supported.
	-24: Failed to use memory maps due to internal error.
	-28: File open in progress, operation not permitted.

Description:
	- This function enables the user to open scan and load memory maps directly without
	the presence or the need to open a GDSII file.
	- Memory maps can be opened directly only when the memory maps were created with
	QisLib_SetLoadMemory turned on.
	- Refer to QisLib_SetCreateMemoryMaps for details on how to create memory maps.
	- While opening either of the two map files, if an error occurs, QisLib does not
	revert back to opening the original GDSII file but returns an error code instead.
	- All other behaviors remain the same as QisLib_OpenGDSII.
	- The map file names don't bear significance as far as functionality goes, but must be
	indicative enough for the user's convinience (scan/load,little or big endian byte
	ordering, 32/64 bit architecture).
	- When the maps are opened directly, operations such as QisLib_GetGDSII,
	QisLib_SaveGDSII, QisLib_SaveGDSIIStructure will not be permitted, although editing
	will still work without saving.
	- QisLib_ReloadGDSII should not be used to reload memory maps. Instead, call
	QisLib_SetLoadMemory followed by a call to QisLib_OpenMemoryMaps. However, if
	QisLib_ReloadGDSII is used to reload memory maps, it will do nothing and return success.
	- Unlike QisLib_OpenGDSII, this function cannot be used to create new memory maps. It
	does not create memory maps even when QisLib_SetCreateMemoryMaps is set to on.
	- In order to close the GDSII memory maps opened using this function, simply call
	Qislib_CloseGDSII.
	- QisLib_SetLoadMemory need not be on when using this function, even though it must be
	on while creating these memory maps.
	- When this function is called, the data entities are either loaded into memory or not
	depending on the QisLib_SetLoadMemory setting.
	- Calling QisLib_OpenMemoryMaps while another file open (GDSII or OASIS) is in
	progress is not permitted and will result in an error code being returned. To open
	memory maps while a GDSII/OASIS/memory maps is already being opened, call
	QisLib_Stop first.
	- If the file open operation needs to be cancelled, call QisLib_Stop. To be able to
	do so, QisLib_SetProcessEvents must be on. Also, on Unix/Linux, the program's
	application context must be passed to QisLib_InitLib.

References:
QisLib_CloseGDSII
QisLib_Stop
QisLib_OpenGDSII
QisLib_InitLib

The following functions are effective only if called before QisLib_OpenMemoryMaps:
QisLib_SetInputLayerMap
QisLib_SetLoadMemory
QisLib_SetProgressMessageCallback
QisLib_SetProcessEvents