Command
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 |