in the napi.h files we saw this. define CONCAT(__a,__b) __a##__b /* token concatenation */
# ifdef __VMS # define MANGLE(__arg) __arg # else # define MANGLE(__arg) CONCAT(__arg,_) # endif # define NXopen MANGLE(nxiopen) /** * Open a NeXus file. * NXopen honours full path file names. But it also searches * for files in all the paths given in the NX_LOAD_PATH environment variable. * NX_LOAD_PATH is supposed to hold a list of path string separated by the platform * specific path separator. For unix this is the : , for DOS the ; . Please note * that crashing on an open NeXus file will result in corrupted data. Only after a NXclose * or a NXflush will the data file be valid. * \param filename The name of the file to open * \param access_method The file access method. This can be: * \li NXACC__READ read access * \li NXACC_RDWR read write access * \li NXACC_CREATE, NXACC_CREATE4 create a new HDF-4 NeXus file * \li NXACC_CREATE5 create a new HDF-5 NeXus file * \li NXACC_CREATEXML create an XML NeXus file. * see #NXaccess_mode * Support for HDF-4 is deprecated. * \param pHandle A file handle which will be initialized upon successfull completeion of NXopen. * \return NX_OK on success, NX_ERROR in the case of an error. * \ingroup c_init */ extern NXstatus NXopen(CONSTCHAR * filename, NXaccess access_method, NXhandle* pHandle); so we need to check in this method what is going on.