//! Check error code from USBDM API function
//!
//! @param rc - error code to access
//!
//! An error message is printed with line # and the program exited if
//! rc indicates any error
//!
void check(USBDM_ErrorCode rc, const char *file = NULL, unsigned lineNum = 0) {
   if (rc == BDM_RC_OK) {
      fprintf(stderr, "OK,     [%s:#%4d]\n", file, lineNum);
      return;
   }
   fprintf(stderr, "Failed, [%s:#%4d] Reason= %s\n", file, lineNum,  USBDM_GetErrorString(rc));
   USBDM_Close();
   USBDM_Exit();
   exit(rc);
}
//! Closes currently open device
//!
TBDML_API void _tbdml_close(void) {

   USBDM_Close();
//   usbdm_gdi_dll_close();
}
/* closes currently open device */
int usbdmClose(void) {
   print( "usbdmClose(): Closing the device\n");
   USBDM_Close();
   USBDM_Exit();
   return 0;
}
/*
 * Class:     net_sourceforge_usbdm_connections_usbdm_Usbdm
 * Method:    closeBDM
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_net_sourceforge_usbdm_connections_usbdm_Usbdm_closeBDM(JNIEnv *, jclass) {
//	fprintf(stderr, "Java_net_sourceforge_usbdm_connections_usbdm_Usbdm_closeBDM()\n");
	return USBDM_Close();
}
//! Closes currently open device
//!
OSBDM_API void _opensourcebdm_close(void) {

   USBDM_Close();
//   usbdm_gdi_dll_close();
}