Exemplo n.º 1
0
/* Send an interrupt request to the inferior process. */
static void
win32_request_interrupt (void)
{
  winapi_DebugBreakProcess DebugBreakProcess;
  winapi_GenerateConsoleCtrlEvent GenerateConsoleCtrlEvent;

#ifdef _WIN32_WCE
  HMODULE dll = GetModuleHandle (_T("COREDLL.DLL"));
#else
  HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL"));
#endif

  GenerateConsoleCtrlEvent = GETPROCADDRESS (dll, GenerateConsoleCtrlEvent);

  if (GenerateConsoleCtrlEvent != NULL
      && GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, current_process_id))
    return;

  /* GenerateConsoleCtrlEvent can fail if process id being debugged is
     not a process group id.
     Fallback to XP/Vista 'DebugBreakProcess', which generates a
     breakpoint exception in the interior process.  */

  DebugBreakProcess = GETPROCADDRESS (dll, DebugBreakProcess);

  if (DebugBreakProcess != NULL
      && DebugBreakProcess (current_process_handle))
    return;

  /* Last resort, suspend all threads manually.  */
  soft_interrupt_requested = 1;
}
Exemplo n.º 2
0
/* Detach from all inferiors.  */
static int
win32_detach (void)
{
  winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL;
  winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL;
#ifdef _WIN32_WCE
  HMODULE dll = GetModuleHandle (_T("COREDLL.DLL"));
#else
  HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL"));
#endif
  DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop);
  DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit);

  if (DebugSetProcessKillOnExit == NULL
      || DebugActiveProcessStop == NULL)
    return -1;

  {
    struct thread_resume resume;
    resume.thread = -1;
    resume.step = 0;
    resume.sig = 0;
    resume.leave_stopped = 0;
    win32_resume (&resume);
  }

  if (!DebugActiveProcessStop (current_process_id))
    return -1;

  DebugSetProcessKillOnExit (FALSE);

  win32_clear_inferiors ();
  return 0;
}
Exemplo n.º 3
0
static BOOL
load_toolhelp (void)
{
  static int toolhelp_loaded = 0;
  static HMODULE dll = NULL;

  if (!toolhelp_loaded)
    {
      toolhelp_loaded = 1;
#ifndef _WIN32_WCE
      dll = GetModuleHandle (_T("KERNEL32.DLL"));
#else
      dll = LoadLibrary (L"TOOLHELP.DLL");
#endif
      if (!dll)
	return FALSE;

      win32_CreateToolhelp32Snapshot =
	GETPROCADDRESS (dll, CreateToolhelp32Snapshot);
      win32_Module32First = GETPROCADDRESS (dll, Module32First);
      win32_Module32Next = GETPROCADDRESS (dll, Module32Next);
#ifdef _WIN32_WCE
      win32_CloseToolhelp32Snapshot =
	GETPROCADDRESS (dll, CloseToolhelp32Snapshot);
#endif
    }

  return (win32_CreateToolhelp32Snapshot != NULL
	  && win32_Module32First != NULL
	  && win32_Module32Next != NULL
#ifdef _WIN32_WCE
	  && win32_CloseToolhelp32Snapshot != NULL
#endif
	  );
}
Exemplo n.º 4
0
/* Attach to a running process.
   PID is the process ID to attach to, specified by the user
   or a higher layer.  */
static int
win32_attach (unsigned long pid)
{
  HANDLE h;
  winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL;
  DWORD err;
#ifdef _WIN32_WCE
  HMODULE dll = GetModuleHandle (_T("COREDLL.DLL"));
#else
  HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL"));
#endif
  DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit);

  h = OpenProcess (PROCESS_ALL_ACCESS, FALSE, pid);
  if (h != NULL)
    {
      if (DebugActiveProcess (pid))
	{
	  if (DebugSetProcessKillOnExit != NULL)
	    DebugSetProcessKillOnExit (FALSE);

	  /* win32_wait needs to know we're attaching.  */
	  attaching = 1;
	  do_initial_child_stuff (h, pid, 1);
	  return 0;
	}

      CloseHandle (h);
    }

  err = GetLastError ();
  error ("Attach to process failed (error %d): %s\n",
	 (int) err, strwinerror (err));
}
Exemplo n.º 5
0
/* Detach from inferior PID.  */
static int
win32_detach (int pid)
{
  struct process_info *process;
  winapi_DebugActiveProcessStop DebugActiveProcessStop = NULL;
  winapi_DebugSetProcessKillOnExit DebugSetProcessKillOnExit = NULL;
#ifdef _WIN32_WCE
  HMODULE dll = GetModuleHandle (_T("COREDLL.DLL"));
#else
  HMODULE dll = GetModuleHandle (_T("KERNEL32.DLL"));
#endif
  DebugActiveProcessStop = GETPROCADDRESS (dll, DebugActiveProcessStop);
  DebugSetProcessKillOnExit = GETPROCADDRESS (dll, DebugSetProcessKillOnExit);

  if (DebugSetProcessKillOnExit == NULL
      || DebugActiveProcessStop == NULL)
    return -1;

  {
    struct thread_resume resume;
    resume.thread = minus_one_ptid;
    resume.kind = resume_continue;
    resume.sig = 0;
    win32_resume (&resume, 1);
  }

  if (!DebugActiveProcessStop (current_process_id))
    return -1;

  DebugSetProcessKillOnExit (FALSE);
  process = find_process_pid (pid);
  remove_process (process);

  win32_clear_inferiors ();
  return 0;
}
Exemplo n.º 6
0
static BOOL
load_psapi (void)
{
  static int psapi_loaded = 0;
  static HMODULE dll = NULL;

  if (!psapi_loaded)
    {
      psapi_loaded = 1;
      dll = LoadLibrary (TEXT("psapi.dll"));
      if (!dll)
	return FALSE;
      win32_EnumProcessModules =
	      GETPROCADDRESS (dll, EnumProcessModules);
      win32_GetModuleInformation =
	      GETPROCADDRESS (dll, GetModuleInformation);
      win32_GetModuleFileNameExA =
	      GETPROCADDRESS (dll, GetModuleFileNameExA);
    }

  return (win32_EnumProcessModules != NULL
	  && win32_GetModuleInformation != NULL
	  && win32_GetModuleFileNameExA != NULL);
}
Exemplo n.º 7
0
// load JE, Jinit, getprocaddresses, JSM
J jeload(void* callbacks)
{
#ifdef _WIN32
 WCHAR wpath[PLEN];
 MultiByteToWideChar(CP_UTF8,0,pathdll,1+(int)strlen(pathdll),wpath,PLEN);
 hjdll=LoadLibraryW(wpath);
 if (!hjdll) hjdll = LoadLibraryA(JDLLNAME);
#else
 hjdll=dlopen(pathdll,RTLD_LAZY);
 if (!hjdll) hjdll = dlopen(JDLLNAME,RTLD_LAZY);
#endif
 if(!hjdll) return 0;
 jt=((JInitType)GETPROCADDRESS(hjdll,"JInit"))();
 if(!jt) return 0;
 ((JSMType)GETPROCADDRESS(hjdll,"JSM"))(jt,callbacks);
 jdo=(JDoType)GETPROCADDRESS(hjdll,"JDo");
 jfree=(JFreeType)GETPROCADDRESS(hjdll,"JFree");
 jga=(JgaType)GETPROCADDRESS(hjdll,"Jga");
 jgetlocale=(JGetLocaleType)GETPROCADDRESS(hjdll,"JGetLocale");
 return jt;
}
Exemplo n.º 8
0
BOOL LoadWintab( void )
{
	ghWintab = LoadLibraryA(  "Wintab32.dll" );
	if ( !ghWintab )
	{
		DWORD err = GetLastError();
		return FALSE;
	}

	// Explicitly find the exported Wintab functions in which we are interested.
	// We are using the ASCII, not unicode versions (where applicable).
	GETPROCADDRESS( WTOPENA, WTOpenA );
	GETPROCADDRESS( WTINFOA, WTInfoA );
	GETPROCADDRESS( WTGETA, WTGetA );
	GETPROCADDRESS( WTSETA, WTSetA );
	GETPROCADDRESS( WTPACKET, WTPacket );
	GETPROCADDRESS( WTCLOSE, WTClose );
	GETPROCADDRESS( WTENABLE, WTEnable );
	GETPROCADDRESS( WTOVERLAP, WTOverlap );
	GETPROCADDRESS( WTSAVE, WTSave );
	GETPROCADDRESS( WTCONFIG, WTConfig );
	GETPROCADDRESS( WTRESTORE, WTRestore );
	GETPROCADDRESS( WTEXTSET, WTExtSet );
	GETPROCADDRESS( WTEXTGET, WTExtGet );
	GETPROCADDRESS( WTQUEUESIZESET, WTQueueSizeSet );
	GETPROCADDRESS( WTDATAPEEK, WTDataPeek );
	GETPROCADDRESS( WTPACKETSGET, WTPacketsGet );

	return TRUE;
}
Exemplo n.º 9
0
PRIVATE void
loadgs (void)
{
  HINSTANCE lib;

  lib = LoadLibrary ("gsdll32");
  GETPROCADDRESS (lib, gsdll_revision);
  GETPROCADDRESS (lib, gsdll_init);
  GETPROCADDRESS (lib, gsdll_execute_begin);
  GETPROCADDRESS (lib, gsdll_execute_cont);
  GETPROCADDRESS (lib, gsdll_execute_end);
  GETPROCADDRESS (lib, gsdll_exit);
  GETPROCADDRESS (lib, gsdll_lock_device);
  GETPROCADDRESS (lib, gsdll_copy_dib);
  GETPROCADDRESS (lib, gsdll_copy_palette);
  GETPROCADDRESS (lib, gsdll_draw);
  GETPROCADDRESS (lib, gsdll_get_bitmap_row);
}
Exemplo n.º 10
0
bool	dabStick::load_rtlFunctions (void) {
//	link the required procedures
	rtlsdr_open	= (pfnrtlsdr_open)
	                       GETPROCADDRESS (Handle, "rtlsdr_open");
	if (rtlsdr_open == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_open\n");
	   return false;
	}
	rtlsdr_close	= (pfnrtlsdr_close)
	                     GETPROCADDRESS (Handle, "rtlsdr_close");
	if (rtlsdr_close == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_close\n");
	   return false;
	}

	rtlsdr_set_sample_rate =
	    (pfnrtlsdr_set_sample_rate)GETPROCADDRESS (Handle, "rtlsdr_set_sample_rate");
	if (rtlsdr_set_sample_rate == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_set_sample_rate\n");
	   return false;
	}

	rtlsdr_get_sample_rate	=
	    (pfnrtlsdr_get_sample_rate)
	               GETPROCADDRESS (Handle, "rtlsdr_get_sample_rate");
	if (rtlsdr_get_sample_rate == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_get_sample_rate\n");
	   return false;
	}

	rtlsdr_set_agc_mode	=
	    (pfnrtlsdr_set_agc_mode)
	               GETPROCADDRESS (Handle, "rtlsdr_set_agc_mode");
	if (rtlsdr_set_agc_mode == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_set_agc_mode\n");
	   return false;
	}

	rtlsdr_get_tuner_gains		= (pfnrtlsdr_get_tuner_gains)
	                     GETPROCADDRESS (Handle, "rtlsdr_get_tuner_gains");
	if (rtlsdr_get_tuner_gains == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_get_tuner_gains\n");
	   return false;
	}

	rtlsdr_set_tuner_gain_mode	= (pfnrtlsdr_set_tuner_gain_mode)
	                     GETPROCADDRESS (Handle, "rtlsdr_set_tuner_gain_mode");
	if (rtlsdr_set_tuner_gain_mode == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_set_tuner_gain_mode\n");
	   return false;
	}

	rtlsdr_set_tuner_gain	= (pfnrtlsdr_set_tuner_gain)
	                     GETPROCADDRESS (Handle, "rtlsdr_set_tuner_gain");
	if (rtlsdr_set_tuner_gain == NULL) {
	   fprintf (stderr, "Cound not find rtlsdr_set_tuner_gain\n");
	   return false;
	}

	rtlsdr_get_tuner_gain	= (pfnrtlsdr_get_tuner_gain)
	                     GETPROCADDRESS (Handle, "rtlsdr_get_tuner_gain");
	if (rtlsdr_get_tuner_gain == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_get_tuner_gain\n");
	   return false;
	}
	rtlsdr_set_center_freq	= (pfnrtlsdr_set_center_freq)
	                     GETPROCADDRESS (Handle, "rtlsdr_set_center_freq");
	if (rtlsdr_set_center_freq == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_set_center_freq\n");
	   return false;
	}

	rtlsdr_get_center_freq	= (pfnrtlsdr_get_center_freq)
	                     GETPROCADDRESS (Handle, "rtlsdr_get_center_freq");
	if (rtlsdr_get_center_freq == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_get_center_freq\n");
	   return false;
	}

	rtlsdr_reset_buffer	= (pfnrtlsdr_reset_buffer)
	                     GETPROCADDRESS (Handle, "rtlsdr_reset_buffer");
	if (rtlsdr_reset_buffer == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_reset_buffer\n");
	   return false;
	}

	rtlsdr_read_async	= (pfnrtlsdr_read_async)
	                     GETPROCADDRESS (Handle, "rtlsdr_read_async");
	if (rtlsdr_read_async == NULL) {
	   fprintf (stderr, "Cound not find rtlsdr_read_async\n");
	   return false;
	}

	rtlsdr_get_device_count	= (pfnrtlsdr_get_device_count)
	                     GETPROCADDRESS (Handle, "rtlsdr_get_device_count");
	if (rtlsdr_get_device_count == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_get_device_count\n");
	   return false;
	}

	rtlsdr_cancel_async	= (pfnrtlsdr_cancel_async)
	                     GETPROCADDRESS (Handle, "rtlsdr_cancel_async");
	if (rtlsdr_cancel_async == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_cancel_async\n");
	   return false;
	}

	rtlsdr_set_direct_sampling = (pfnrtlsdr_set_direct_sampling)
	                  GETPROCADDRESS (Handle, "rtlsdr_set_direct_sampling");
	if (rtlsdr_set_direct_sampling == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_set_direct_sampling\n");
	   return false;
	}

	rtlsdr_set_freq_correction = (pfnrtlsdr_set_freq_correction)
	                  GETPROCADDRESS (Handle, "rtlsdr_set_freq_correction");
	if (rtlsdr_set_freq_correction == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_set_freq_correction\n");
	   return false;
	}

	rtlsdr_get_device_name = (pfnrtlsdr_get_device_name)
	                   GETPROCADDRESS (Handle, "rtlsdr_get_device_name");
	if (rtlsdr_get_device_name == NULL) {
	   fprintf (stderr, "Could not find rtlsdr_get_device_name\n");
	   return false;
	}

	fprintf (stderr, "OK, functions seem to be loaded\n");
	return true;
}
Exemplo n.º 11
0
void CIME::Initialize()
{
    if(s_hDllImm32) // Only need to do once
        return;

    FARPROC Temp;

   // s_CompString.SetBufferSize(MAX_COMPSTRING_SIZE);

    WCHAR wszPath[MAX_PATH+1];
    if(!::GetSystemDirectoryW(wszPath, MAX_PATH+1))
        return;

	std::wstring wstrPath = wszPath;
	wstrPath += IMM32_DLLNAME;
    s_hDllImm32 = LoadLibraryW(wstrPath.c_str());
    if(s_hDllImm32)
    {
        GETPROCADDRESS(s_hDllImm32, ImmLockIMC, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmUnlockIMC, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmLockIMCC, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmUnlockIMCC, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmDisableTextFrameService, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetCompositionStringW, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetCandidateListW, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetContext, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmReleaseContext, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmAssociateContext, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetOpenStatus, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmSetOpenStatus, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetConversionStatus, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetDefaultIMEWnd, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetIMEFileNameA, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmGetVirtualKey, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmNotifyIME, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmSetConversionStatus, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmSimulateHotKey, Temp);
        GETPROCADDRESS(s_hDllImm32, ImmIsIME, Temp);
    }

    if(!::GetSystemDirectoryW(wszPath, MAX_PATH+1))
        return;
	wstrPath = wszPath;
	wstrPath+=VER_DLLNAME;
    s_hDllVer = LoadLibraryW(wstrPath.c_str());
    if(s_hDllVer)
    {
        GETPROCADDRESS(s_hDllVer, VerQueryValueA, Temp);
        GETPROCADDRESS(s_hDllVer, GetFileVersionInfoA, Temp);
        GETPROCADDRESS(s_hDllVer, GetFileVersionInfoSizeA, Temp);
    }
}
Exemplo n.º 12
0
	miricsLoader::miricsLoader	(bool *success) {
	libraryLoaded	= false;
	*success	= false;
#ifdef	__MINGW32__
HKEY APIkey;
wchar_t APIkeyValue [256];
ULONG APIkeyValue_length = 255;
	if (RegOpenKey (HKEY_LOCAL_MACHINE,
	                TEXT("Software\\MiricsSDR\\API"),
	                &APIkey) != ERROR_SUCCESS) {
          fprintf (stderr,
	           "failed to locate API registry entry, error = %d\n",
	           (int)GetLastError());
	   return;
	}
	RegQueryValueEx (APIkey,
	                 (wchar_t *)L"Install_Dir",
	                 NULL,
	                 NULL,
	                 (LPBYTE)&APIkeyValue,
	                 (LPDWORD)&APIkeyValue_length);
//	Ok, make explicit it is in the 64 bits section
	wchar_t *x = wcscat (APIkeyValue, (wchar_t *)L"\\x64\\mir_sdr_api.dll");
//	fprintf (stderr, "Length of APIkeyValue = %d\n", APIkeyValue_length);
//	wprintf (L"API registry entry: %s\n", APIkeyValue);
	RegCloseKey(APIkey);

	Handle	= LoadLibrary (x);
	if (Handle == NULL) {
	  fprintf (stderr, "Failed to open mir_sdr_api.dll\n");
	  return;
	}
#else
//	Ǹote that under Ubuntu, the Mirics shared object does not seem to be
//	able to find the libusb. That is why we explicity load it here
	Handle		= dlopen ("libusb-1.0.so", RTLD_NOW | RTLD_GLOBAL);
	Handle		= dlopen ("libmir_sdr_api.so", RTLD_NOW);
//	Handle		= dlopen ("/usr/local/lib/libmir_sdr_api.so", RTLD_NOW);
	if (Handle == NULL) {
	   fprintf (stderr, "error report %s\n", dlerror ());
	   return;
	}
#endif
	libraryLoaded	= true;
//	Load the functions one by one
	my_mir_sdr_Init	= (pfn_mir_sdr_Init)
	                    GETPROCADDRESS (Handle, "mir_sdr_Init");
	if (my_mir_sdr_Init == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_Init\n");
	   return;
	}
	my_mir_sdr_ReadPacket = (pfn_mir_sdr_ReadPacket)
	                    GETPROCADDRESS (Handle, "mir_sdr_ReadPacket");
	if (my_mir_sdr_ReadPacket == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_ReadPacket\n");
	   return;
	}
	my_mir_sdr_SetRf	= (pfn_mir_sdr_SetRf)
	                    GETPROCADDRESS (Handle, "mir_sdr_SetRf");
	if (my_mir_sdr_SetRf == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetRf\n");
	   return;
	}
	my_mir_sdr_SetFs	= (pfn_mir_sdr_SetFs)
	                    GETPROCADDRESS (Handle, "mir_sdr_SetFs");
	if (my_mir_sdr_SetFs == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetFs\n");
	   return;
	}
	my_mir_sdr_SetGr	= (pfn_mir_sdr_SetGr)
	                    GETPROCADDRESS (Handle, "mir_sdr_SetGr");
	if (my_mir_sdr_SetGr == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetGr\n");
	   return;
	}
	my_mir_sdr_SetGrParams	= (pfn_mir_sdr_SetGrParams)
	                    GETPROCADDRESS (Handle, "mir_sdr_SetGrParams");
	if (my_mir_sdr_SetGrParams == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetGrParams\n");
	   return;
	}
	my_mir_sdr_SetDcMode	= (pfn_mir_sdr_SetDcMode)
	                    GETPROCADDRESS (Handle, "mir_sdr_SetDcMode");
	if (my_mir_sdr_SetDcMode == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetDcMode\n");
	   return;
	}
	my_mir_sdr_SetDcTrackTime	= (pfn_mir_sdr_SetDcTrackTime)
	                    GETPROCADDRESS (Handle, "mir_sdr_SetDcTrackTime");
	if (my_mir_sdr_SetDcTrackTime == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetDcTrackTime\n");
	   return;
	}
	my_mir_sdr_SetSyncUpdateSampleNum = (pfn_mir_sdr_SetSyncUpdateSampleNum)
	               GETPROCADDRESS (Handle, "mir_sdr_SetSyncUpdateSampleNum");
	if (my_mir_sdr_SetSyncUpdateSampleNum == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetSyncUpdateSampleNum\n");
	   return;
	}
	my_mir_sdr_SetSyncUpdatePeriod	= (pfn_mir_sdr_SetSyncUpdatePeriod)
	                GETPROCADDRESS (Handle, "mir_sdr_SetSyncUpdatePeriod");
	if (my_mir_sdr_SetSyncUpdatePeriod == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_SetSyncUpdatePeriod\n");
	   return;
	}
	my_mir_sdr_ApiVersion	= (pfn_mir_sdr_ApiVersion)
	                GETPROCADDRESS (Handle, "mir_sdr_ApiVersion");
	if (my_mir_sdr_ApiVersion == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_ApiVersion\n");
	   return;
	}
	my_mir_sdr_Uninit	= (pfn_mir_sdr_Uninit)
	                    GETPROCADDRESS (Handle, "mir_sdr_Uninit");
	if (my_mir_sdr_Uninit == NULL) {
	   fprintf (stderr, "Could not find mir_sdr_Uninit\n");
	   return;
	}
//	my_mir_sdr_ResetUpdateFlags	= (pfn_mir_sdr_ResetUpdateFlags)
//	                GETPROCADDRESS (Handle, "mir_sdr_ResetUpdateFlags");
//	if (my_mir_sdr_ResetUpdateFlags == NULL) {
//	   fprintf (stderr, "Could not find mir_sdr_ResetUpdateFlags\n");
//	   return;
//	}

	fprintf (stderr, "Functions seem to be loaded\n");
	*success	= true;
//
//	If one wishes to link to the ".a", this is the way
//	my_mir_sdr_Init	= (pfn_mir_sdr_Init)&mir_sdr_Init;
//	my_mir_sdr_Uninit	= (pfn_mir_sdr_Uninit) &mir_sdr_Uninit;
//	my_mir_sdr_ReadPacket = (pfn_mir_sdr_ReadPacket) &mir_sdr_ReadPacket;
//	my_mir_sdr_SetRf	= (pfn_mir_sdr_SetRf) &mir_sdr_SetRf;
//	my_mir_sdr_SetFs	= (pfn_mir_sdr_SetFs) &mir_sdr_SetFs;
//	my_mir_sdr_SetGr	= (pfn_mir_sdr_SetGr) &mir_sdr_SetGr;
//	my_mir_sdr_SetGrParams	= (pfn_mir_sdr_SetGrParams) &mir_sdr_SetGrParams;
//	my_mir_sdr_SetDcMode	= (pfn_mir_sdr_SetDcMode) &mir_sdr_SetDcMode;
//	my_mir_sdr_SetDcTrackTime	= (pfn_mir_sdr_SetDcTrackTime)
//	                                      &mir_sdr_SetDcTrackTime;
//	my_mir_sdr_SetSyncUpdateSampleNum = (pfn_mir_sdr_SetSyncUpdateSampleNum)
//	                &mir_sdr_SetSyncUpdateSampleNum;
//	my_mir_sdr_SetSyncUpdatePeriod	= (pfn_mir_sdr_SetSyncUpdatePeriod)
//	                            &mir_sdr_SetSyncUpdatePeriod;
//	my_mir_sdr_ApiVersion	= (pfn_mir_sdr_ApiVersion) &mir_sdr_ApiVersion;
////	my_mir_sdr_ResetUpdateFlags	= (pfn_mir_sdr_ResetUpdateFlags)
////	                                     &mir_sdr_ResetUpdateFlags;
}
Exemplo n.º 13
0
static void Init (void)
{
   static const char *fragShaderText =
      "uniform float time;\n"
      "varying vec3 position;\n"
      "void main () {\n"
      "   gl_FragColor = vec4 (vec3 (0.5 + 0.5 * noise1 (vec4 (position, time))), 1.0);\n"
      "}\n"
   ;
   static const char *vertShaderText =
      "varying vec3 position;\n"
      "void main () {\n"
      "   gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
      "   position = 4.0 * gl_Vertex.xyz;\n"
      "}\n"
   ;

	if (!glutExtensionSupported ("GL_ARB_fragment_shader"))
	{
		printf ("Sorry, this demo requires GL_ARB_fragment_shader\n");
		exit(1);
	}
	if (!glutExtensionSupported ("GL_ARB_shader_objects"))
	{
		printf ("Sorry, this demo requires GL_ARB_shader_objects\n");
		exit(1);
	}
	if (!glutExtensionSupported ("GL_ARB_shading_language_100"))
	{
		printf ("Sorry, this demo requires GL_ARB_shading_language_100\n");
		exit(1);
	}
	if (!glutExtensionSupported ("GL_ARB_vertex_shader"))
	{
		printf ("Sorry, this demo requires GL_ARB_vertex_shader\n");
		exit(1);
	}

	glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)
		GETPROCADDRESS("glCreateShaderObjectARB");
 	glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)
		GETPROCADDRESS("glShaderSourceARB");
 	glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)
		GETPROCADDRESS("glCompileShaderARB");
 	glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)
		GETPROCADDRESS("glCreateProgramObjectARB");
 	glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)
		GETPROCADDRESS("glAttachObjectARB");
 	glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)
		GETPROCADDRESS ("glLinkProgramARB");
 	glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)
		GETPROCADDRESS("glUseProgramObjectARB");          

	glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)
		GETPROCADDRESS("glGetUniformLocationARB");
	glUniform1fARB = (PFNGLUNIFORM1FARBPROC)
		GETPROCADDRESS("glUniform1fARB");

	fragShader = glCreateShaderObjectARB (GL_FRAGMENT_SHADER_ARB);
	glShaderSourceARB (fragShader, 1, &fragShaderText, NULL);
	glCompileShaderARB (fragShader);

	vertShader = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
	glShaderSourceARB (vertShader, 1, &vertShaderText, NULL);
	glCompileShaderARB (vertShader);

	program = glCreateProgramObjectARB ();
	glAttachObjectARB (program, fragShader);
	glAttachObjectARB (program, vertShader);
	glLinkProgramARB (program);
	glUseProgramObjectARB (program);

	uTime = glGetUniformLocationARB (program, "time");

	glClearColor (0.0f, 0.1f, 0.3f, 1.0f);
	glEnable (GL_CULL_FACE);
	glEnable (GL_DEPTH_TEST);

	printf ("GL_RENDERER = %s\n", (const char *) glGetString (GL_RENDERER));
}
Exemplo n.º 14
0
bool	airspyHandler::load_airspyFunctions (void) {
//
//	link the required procedures
	my_airspy_init	= (pfn_airspy_init)
	                       GETPROCADDRESS (Handle, "airspy_init");
	if (my_airspy_init == NULL) {
	   fprintf (stderr, "Could not find airspy_init\n");
	   return false;
	}

	my_airspy_exit	= (pfn_airspy_exit)
	                       GETPROCADDRESS (Handle, "airspy_exit");
	if (my_airspy_exit == NULL) {
	   fprintf (stderr, "Could not find airspy_exit\n");
	   return false;
	}

	my_airspy_open	= (pfn_airspy_open)
	                       GETPROCADDRESS (Handle, "airspy_open");
	if (my_airspy_open == NULL) {
	   fprintf (stderr, "Could not find airspy_open\n");
	   return false;
	}

	my_airspy_close	= (pfn_airspy_close)
	                       GETPROCADDRESS (Handle, "airspy_close");
	if (my_airspy_close == NULL) {
	   fprintf (stderr, "Could not find airspy_close\n");
	   return false;
	}

	my_airspy_get_samplerates	= (pfn_airspy_get_samplerates)
	                       GETPROCADDRESS (Handle, "airspy_get_samplerates");
	if (my_airspy_get_samplerates == NULL) {
	   fprintf (stderr, "Could not find airspy_get_samplerates\n");
	   return false;
	}

	my_airspy_set_samplerate	= (pfn_airspy_set_samplerate)
	                       GETPROCADDRESS (Handle, "airspy_set_samplerate");
	if (my_airspy_set_samplerate == NULL) {
	   fprintf (stderr, "Could not find airspy_set_samplerate\n");
	   return false;
	}

	my_airspy_start_rx	= (pfn_airspy_start_rx)
	                       GETPROCADDRESS (Handle, "airspy_start_rx");
	if (my_airspy_start_rx == NULL) {
	   fprintf (stderr, "Could not find airspy_start_rx\n");
	   return false;
	}

	my_airspy_stop_rx	= (pfn_airspy_stop_rx)
	                       GETPROCADDRESS (Handle, "airspy_stop_rx");
	if (my_airspy_stop_rx == NULL) {
	   fprintf (stderr, "Could not find airspy_stop_rx\n");
	   return false;
	}

	my_airspy_set_sample_type	= (pfn_airspy_set_sample_type)
	                       GETPROCADDRESS (Handle, "airspy_set_sample_type");
	if (my_airspy_set_sample_type == NULL) {
	   fprintf (stderr, "Could not find airspy_set_sample_type\n");
	   return false;
	}

	my_airspy_set_freq	= (pfn_airspy_set_freq)
	                       GETPROCADDRESS (Handle, "airspy_set_freq");
	if (my_airspy_set_freq == NULL) {
	   fprintf (stderr, "Could not find airspy_set_freq\n");
	   return false;
	}

	my_airspy_set_lna_gain	= (pfn_airspy_set_lna_gain)
	                       GETPROCADDRESS (Handle, "airspy_set_lna_gain");
	if (my_airspy_set_lna_gain == NULL) {
	   fprintf (stderr, "Could not find airspy_set_lna_gain\n");
	   return false;
	}

	my_airspy_set_mixer_gain	= (pfn_airspy_set_mixer_gain)
	                       GETPROCADDRESS (Handle, "airspy_set_mixer_gain");
	if (my_airspy_set_mixer_gain == NULL) {
	   fprintf (stderr, "Could not find airspy_set_mixer_gain\n");
	   return false;
	}

	my_airspy_set_vga_gain	= (pfn_airspy_set_vga_gain)
	                       GETPROCADDRESS (Handle, "airspy_set_vga_gain");
	if (my_airspy_set_vga_gain == NULL) {
	   fprintf (stderr, "Could not find airspy_set_vga_gain\n");
	   return false;
	}

	my_airspy_set_linearity_gain = (pfn_airspy_set_linearity_gain)
	                       GETPROCADDRESS (Handle, "airspy_set_linearity_gain");
	if (my_airspy_set_linearity_gain == NULL) {
	   fprintf (stderr, "Could not find airspy_set_linearity_gain\n");
	   fprintf (stderr, "You probably did not install 1.0.7 yet\n");
	   return false;
	}

	my_airspy_set_sensitivity_gain = (pfn_airspy_set_sensitivity_gain)
	                       GETPROCADDRESS (Handle, "airspy_set_sensitivity_gain");
	if (my_airspy_set_sensitivity_gain == NULL) {
	   fprintf (stderr, "Could not find airspy_set_sensitivity_gain\n");
	   fprintf (stderr, "You probably did not install 1.0.7 yet\n");
	   return false;
	}


	my_airspy_set_lna_agc	= (pfn_airspy_set_lna_agc)
	                       GETPROCADDRESS (Handle, "airspy_set_lna_agc");
	if (my_airspy_set_lna_agc == NULL) {
	   fprintf (stderr, "Could not find airspy_set_lna_agc\n");
	   return false;
	}

	my_airspy_set_mixer_agc	= (pfn_airspy_set_mixer_agc)
	                       GETPROCADDRESS (Handle, "airspy_set_mixer_agc");
	if (my_airspy_set_mixer_agc == NULL) {
	   fprintf (stderr, "Could not find airspy_set_mixer_agc\n");
	   return false;
	}

	my_airspy_set_rf_bias	= (pfn_airspy_set_rf_bias)
	                       GETPROCADDRESS (Handle, "airspy_set_rf_bias");
	if (my_airspy_set_rf_bias == NULL) {
	   fprintf (stderr, "Could not find airspy_set_rf_bias\n");
	   return false;
	}

	my_airspy_error_name	= (pfn_airspy_error_name)
	                       GETPROCADDRESS (Handle, "airspy_error_name");
	if (my_airspy_error_name == NULL) {
	   fprintf (stderr, "Could not find airspy_error_name\n");
	   return false;
	}

	my_airspy_board_id_read	= (pfn_airspy_board_id_read)
	                       GETPROCADDRESS (Handle, "airspy_board_id_read");
	if (my_airspy_board_id_read == NULL) {
	   fprintf (stderr, "Could not find airspy_board_id_read\n");
	   return false;
	}

	my_airspy_board_id_name	= (pfn_airspy_board_id_name)
	                       GETPROCADDRESS (Handle, "airspy_board_id_name");
	if (my_airspy_board_id_name == NULL) {
	   fprintf (stderr, "Could not find airspy_board_id_name\n");
	   return false;
	}

	my_airspy_board_partid_serialno_read	=
	                (pfn_airspy_board_partid_serialno_read)
	                       GETPROCADDRESS (Handle, "airspy_board_partid_serialno_read");
	if (my_airspy_board_partid_serialno_read == NULL) {
	   fprintf (stderr, "Could not find airspy_board_partid_serialno_read\n");
	   return false;
	}

	return true;
}
Exemplo n.º 15
0
static void oleload()
{
  JSetB=(JSetBType)GETPROCADDRESS((HMODULE)hjdll,"JSetB");
  JDo=(JDoType)GETPROCADDRESS((HMODULE)hjdll,"JDo");
  JBreak=(JBreakType)GETPROCADDRESS((HMODULE)hjdll,"JBreak");
  JIsBusy=(JIsBusyType)GETPROCADDRESS((HMODULE)hjdll,"JIsBusy");
  JGet=(JGetType)GETPROCADDRESS((HMODULE)hjdll,"JGet");
  JSet=(JSetType)GETPROCADDRESS((HMODULE)hjdll,"JSet");
  JGetM=(JGetMType)GETPROCADDRESS((HMODULE)hjdll,"JGetM");
  JSetM=(JSetMType)GETPROCADDRESS((HMODULE)hjdll,"JSetM");
  JErrorText=(JErrorTextType)GETPROCADDRESS((HMODULE)hjdll,"JErrorText");
  JErrorTextM=(JErrorTextMType)GETPROCADDRESS((HMODULE)hjdll,"JErrorTextM");
  JClear=(JClearType)GETPROCADDRESS((HMODULE)hjdll,"JClear");
  JShow=(JShowType)GETPROCADDRESS((HMODULE)hjdll,"JShow");
  JLog=(JLogType)GETPROCADDRESS((HMODULE)hjdll,"JLog");
  JQuit=(JQuitType)GETPROCADDRESS((HMODULE)hjdll,"JQuit");
  JTranspose=(JTransposeType)GETPROCADDRESS((HMODULE)hjdll,"JTranspose");
  JErrorTextB=(JErrorTextBType)GETPROCADDRESS((HMODULE)hjdll,"JErrorTextB");
  JGetB=(JGetBType)GETPROCADDRESS((HMODULE)hjdll,"JGetB");
  JSetB=(JSetBType)GETPROCADDRESS((HMODULE)hjdll,"JSetB");
  JDoR=(JDoRType)GETPROCADDRESS((HMODULE)hjdll,"JDoR");
}
Exemplo n.º 16
0
int InitializeFirefoxLibrary(char *firefoxPath)
{
	
	libnss = libplc = NULL;

	// First load the libraries from firefox path.
	if( firefoxPath != NULL )
	{
		// Load all the libraries from the leaf to the root..in the dependency list.
		if( LoadLibrary2(firefoxPath, NSPR_LIBRARY_NAME) )
		{
			if((libplc=LoadLibrary2(firefoxPath, PLC_LIBRARY_NAME)) )
			{
				if( LoadLibrary2(firefoxPath, PLDS_LIBRARY_NAME) )
				{
					if( LoadLibrary2(firefoxPath, SOFTN_LIBRARY_NAME) )
					{
						libnss=LoadLibrary2(firefoxPath, NSS_LIBRARY_NAME);
						//if( libnss )
						//	;
							//DisplayMesg(TYPE_DEBUG, "\n\n Library loaded from firefox path successfully ");
		
					}
				}
			}
		}	

	}


	// Now load from current path.
	if( !libnss )
	{

		//DisplayMesg(TYPE_DEBUG, "\n Loading library from current directory");
		
//		libnss =LOADLIBRARY(NSS_LIBRARY_NAME);
		libnss = LoadLibrary2(firefoxPath, NSS_LIBRARY_NAME);
//		libplc =LOADLIBRARY(PLC_LIBRARY_NAME);
		libplc = LoadLibrary2(firefoxPath, PLC_LIBRARY_NAME);

		if( !libnss || !libplc ) 
		{
			//DisplayMesg(TYPE_ERROR, "\n\n Failed to load Firefox libraries %s & %s ", NSS_LIBRARY_NAME, PLC_LIBRARY_NAME);
			return 0;
		}
	}


	//DisplayMesg(TYPE_DEBUG, "\n Firefox Libraries loaded successfully..");

	// Extract the required functions....
	NSSInit				   = (NSS_Init) GETPROCADDRESS(libnss, "NSS_Init");
	NSSShutdown			   = (NSS_Shutdown)GETPROCADDRESS(libnss, "NSS_Shutdown");
	PK11GetInternalKeySlot = (PK11_GetInternalKeySlot) GETPROCADDRESS(libnss, "PK11_GetInternalKeySlot");
	PK11FreeSlot           = (PK11_FreeSlot) GETPROCADDRESS(libnss, "PK11_FreeSlot");
	PK11Authenticate       = (PK11_Authenticate) GETPROCADDRESS(libnss, "PK11_Authenticate");
	PK11SDRDecrypt         = (PK11SDR_Decrypt) GETPROCADDRESS(libnss, "PK11SDR_Decrypt");
	PK11CheckUserPassword  = (PK11_CheckUserPassword ) GETPROCADDRESS(libnss, "PK11_CheckUserPassword");

	if( !NSSInit || !NSSShutdown || !PK11GetInternalKeySlot || !PK11Authenticate || !PK11SDRDecrypt || !PK11FreeSlot || !PK11CheckUserPassword)
	{
		//DisplayMesg(TYPE_ERROR, "\n\n Failed to get function address from library %s ", NSS_LIBRARY_NAME);
		TerminateFirefoxLibrary();
		return 0;
	}

	// Get the functions from PLC library
	PLBase64Decode     = ( PL_Base64Decode ) GETPROCADDRESS(libplc, "PL_Base64Decode");

	if( !PLBase64Decode )
	{
		//DisplayMesg(TYPE_ERROR, "\n\n Failed to get function address from library %s ", PLC_LIBRARY_NAME);
		TerminateFirefoxLibrary();
		return 0;
	}

	//DisplayMesg(TYPE_DEBUG, "\n Firefox library initialized successfully..");

	return 1;

}
Exemplo n.º 17
0
int main(int argc, char *argv[])
{
  HANDLE hDLL = LoadLibrary(L"7-zip32");
  if (hDLL != NULL){
      GETPROCADDRESS(WINAPI_SEVENZIP, hZip, "SevenZip");
      GETPROCADDRESS(WINAPI_SEVENZIPGETVERSION, hVersion, "SevenZipGetVersion");
      GETPROCADDRESS(WINAPI_SEVENZIPGETSUBVERSION, hSubVersion, "SevenZipGetSubVersion");
      GETPROCADDRESS(WINAPI_SEVENZIPCHECKARCHIVE, hChkFunc, "SevenZipCheckArchive");
      GETPROCADDRESS(WINAPI_SEVENZIPGETARCHIVETYPE, hArchTypeFunc, "SevenZipGetArchiveType");
      GETPROCADDRESS(WINAPI_SEVENZIPOPENARCHIVE, hOpenFunc, "SevenZipOpenArchive");
      GETPROCADDRESS(WINAPI_SEVENZIPCLOSEARCHIVE, hCloseFunc, "SevenZipCloseArchive");
      GETPROCADDRESS(WINAPI_SEVENZIPSETDEFAULTPASSWORD, hSetDefPasswd, "SevenZipSetDefaultPassword");
      GETPROCADDRESS(WINAPI_SEVENZIPGETFILECOUNT, hFileCount, "SevenZipGetFileCount");
      GETPROCADDRESS(WINAPI_SEVENZIPGETATTRIBUTE, hAttribute, "SevenZipGetAttribute");
      GETPROCADDRESS(WINAPI_SEVENZIPQUERYFUNCTIONLIST, hQueryFunc, "SevenZipQueryFunctionList");

      DWORD dwVersion;
      dwVersion = hVersion();
      DWORD dwSubVersion;
      dwSubVersion = hSubVersion();
      /* 256*3+16*9+8 = 920 -> 9.20 */
      DWORD dwHi = dwVersion & 0x0000ffff;
      g_print("%08lx\n", dwHi);
      DWORD dwLow = (dwSubVersion & 0x0000ffff);
      g_print("%08lx\n", dwLow);

      BOOL bCheck;
      int nType;
      HARC hArch;
      int nAttr;
      int nResult;
      bCheck = hQueryFunc(ISARC_GET_ATTRIBUTE);
      g_print("bCheck:%08x\n", bCheck);
      char buf[1024];
      DWORD dwSize = 0;
      {
          nResult = hZip(NULL, "x hpasswd.7z -aoa -p\"foo\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("hpasswd.7z invalid password nResult:%08x\n", nResult);
      }
      {
          nResult = hZip(NULL, "x hpasswd.7z -aoa -p\"\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("hpasswd.7z blank password nResult:%08x\n", nResult);
      }
      {
          nResult = hZip(NULL, "x hpasswd.7z -aoa -p\"test\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("hpasswd.7z test password nResult:%08x\n", nResult);
      }

      {
          nResult = hZip(NULL, "x passwd.7z -aoa -p\"foo\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("passwd.7z invalid password passwd.7z nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x passwd.7z -aoa -p\"test\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("passwd.7z test password passwd.7z nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x passwd.7z -aoa -p\"\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("passwd.7z blank password passwd.7z nResult:%08x\n", nResult);
      }

      {
          nResult = hZip(NULL, "x passwd.zip -aoa -p\"\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("passwd.zip blank password nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x passwd.zip -aoa -p\"test\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("passwd.zip test password nResult:%08x\n", nResult);
          nResult = hZip(NULL, "x passwd.zip -aoa -p\"foo\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("passwd.zip invalid password nResult:%08x\n", nResult);
      }

      {
          nResult = hZip(NULL, "x nopasswd.zip -aoa -p\"\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("nopasswd.zip blank password nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x nopasswd.zip -aoa -p\"foo\" -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("nopasswd.zip invalid password nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x nopasswd.zip -aoa -hide -oc:\\Temp\\7zip -r", buf, dwSize);
          g_print("nopasswd.zip no password nResult:%08x\n", nResult);
      }

      {
          nResult = hZip(NULL, "x passwd2.zip -aoa -p\"\" -hide -oc:\\Temp\\7zip -r-", buf, dwSize);
          g_print("passwd2.zip blank password nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x passwd2.zip -aoa -p\"foo\" -hide -oc:\\Temp\\7zip -r-", buf, dwSize);
          g_print("passwd2.zip invalid password nResult:%08x\n", nResult);

          nResult = hZip(NULL, "x passwd2.zip -aoa -p\"test\" -hide -oc:\\Temp\\7zip -r-", buf, dwSize);
          g_print("passwd2.zip no password nResult:%08x\n", nResult);
      }

      return 0;
      {
          /*
           * check hpasswd.7z
           */
          nResult = hSetDefPasswd(NULL, "test");
          hArch = hOpenFunc(NULL, "hpasswd.7z", M_ERROR_MESSAGE_OFF|M_BAR_WINDOW_OFF);
          if (hArch != NULL){
              bCheck = hChkFunc("hpasswd.7z", CHECKARCHIVE_BASIC);
              nType = hArchTypeFunc("hpasswd.7z");
              nAttr = hAttribute(hArch);
              /*hArch = hOpenFunc(NULL, "hpasswd.7z", 0);*/
              g_print("nResult:%08x\n", nResult);
              g_print("bCheck:%08x\n", bCheck);
              g_print("nType:%08x\n", nType);
              g_print("nAttr:%08x\n", nAttr);
              if (hArch != NULL && (nAttr & 0x40)){
                  g_print("may be header encrypted\n");
              }
              hCloseFunc(hArch);
          }else{
              g_print("?\n");
          }
      }
      {
          /*
           * check passwd.7z
           */
          bCheck = hChkFunc("passwd.7z", CHECKARCHIVE_BASIC);
          nType = hArchTypeFunc("passwd.7z");
          hArch = hOpenFunc(NULL, "passwd.7z", 0);
          nAttr = hAttribute(hArch);
          g_print("nAttr:%08x\n", nAttr);
          if (bCheck == TRUE && nType == 2 && hArch != NULL && nAttr & 0x40){
              g_print("passwd.7z password encrypted\n");
          }
          hCloseFunc(hArch);
      }
      {
          /*
           * check passwd.zip
           */
          nResult = hSetDefPasswd(NULL, "foo");
          bCheck = hChkFunc("passwd.zip", CHECKARCHIVE_BASIC);
          nType = hArchTypeFunc("passwd.zip");
          hArch = hOpenFunc(NULL, "passwd.zip", 0);
          g_print("hArch:%p\n", hArch);
          nAttr = hAttribute(hArch);
          g_print("bCheck:%08x\n", bCheck);
          g_print("nType:%08x\n", nType);
          g_print("nAttr:%08x\n", nAttr);
          if (bCheck == TRUE && nType == 1 && hArch != NULL && nAttr & 0x40){
              g_print("passwd.zip password encrypted\n");
          }
          hCloseFunc(hArch);
      }
      {
          /*
           * check nopasswd.zip
           */
          nResult = hSetDefPasswd(NULL, "foo");
          bCheck = hChkFunc("nopasswd.zip", CHECKARCHIVE_BASIC);
          nType = hArchTypeFunc("nopasswd.zip");
          hArch = hOpenFunc(NULL, "nopasswd.zip", 0);
          g_print("hArch:%p\n", hArch);
          nAttr = hAttribute(hArch);
          g_print("bCheck:%08x\n", bCheck);
          g_print("nType:%08x\n", nType);
          g_print("nAttr:%08x\n", nAttr);
          if (bCheck == TRUE && nType == 1 && hArch != NULL && nAttr & 0x40){
              g_print("nopasswd.zip password encrypted\n");
          }
      }
      return 0;
  }
  return 0;
}
Exemplo n.º 18
0
static void Init (void)
{
   static const char *fragShaderText =
      "uniform vec3 lightPos;\n"
      "uniform vec4 diffuse;\n"
      "uniform vec4 specular;\n"
      "varying vec3 normal;\n"
      "void main () {\n"
      "   // Compute dot product of light direction and normal vector\n"
      "   float dotProd = max (dot (lightPos, normalize (normal)), 0.0);\n"
      "   // Compute diffuse and specular contributions\n"
#if 1
      "   gl_FragColor = diffuse * dotProd + specular * pow (dotProd, 20.0);\n"
#elif 1 /* test IF/ELSE/ENDIF */
      "   if (normal.y > 0.0) { \n"
      "      gl_FragColor = diffuse * dotProd + specular * pow (dotProd, 20.0);\n"
      "   } \n"
      "   else { \n"
      "      if (normal.x < 0.0) { \n"
      "         gl_FragColor = vec4(1, 0, 0, 0); \n"
      "      } \n"
      "      else { \n"
      "         gl_FragColor = vec4(1, 1, 0, 0); \n"
      "      } \n"
      "   } \n"
#elif 1 /* test LOOP */
      "   while (1) { \n"
      "      if (normal.y >= 0.0) { \n"
      "         gl_FragColor = vec4(1, 0, 0, 0); \n"
      "         break; \n"
      "      } else { \n"
      "         gl_FragColor = diffuse * dotProd + specular * pow (dotProd, 20.0);\n"
      "         break; \n"
      "      } \n"
      "   } \n"
#endif
      "}\n"
   ;
   static const char *vertShaderText =
      "varying vec3 normal;\n"
      "void main () {\n"
      "   gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
      "   normal = gl_NormalMatrix * gl_Normal;\n"
      "}\n"
   ;

	if (!glutExtensionSupported ("GL_ARB_fragment_shader"))
	{
		printf ("Sorry, this demo requires GL_ARB_fragment_shader\n");
		exit(1);
	}
	if (!glutExtensionSupported ("GL_ARB_shader_objects"))
	{
		printf ("Sorry, this demo requires GL_ARB_shader_objects\n");
		exit(1);
	}
	if (!glutExtensionSupported ("GL_ARB_shading_language_100"))
	{
		printf ("Sorry, this demo requires GL_ARB_shading_language_100\n");
		exit(1);
	}
	if (!glutExtensionSupported ("GL_ARB_vertex_shader"))
	{
		printf ("Sorry, this demo requires GL_ARB_vertex_shader\n");
		exit(1);
	}

	glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC) GETPROCADDRESS ("glCreateShaderObjectARB");
	glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC) GETPROCADDRESS ("glShaderSourceARB");
	glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC) GETPROCADDRESS ("glCompileShaderARB");
	glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC) GETPROCADDRESS ("glCreateProgramObjectARB");
	glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC) GETPROCADDRESS ("glAttachObjectARB");
	glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC) GETPROCADDRESS ("glLinkProgramARB");
	glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC) GETPROCADDRESS ("glUseProgramObjectARB");
	glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC) GETPROCADDRESS ("glGetUniformLocationARB");
   glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC) GETPROCADDRESS ("glUniform3fvARB");
   glUniform4fvARB = (PFNGLUNIFORM3FVARBPROC) GETPROCADDRESS ("glUniform4fvARB");

	fragShader = glCreateShaderObjectARB (GL_FRAGMENT_SHADER_ARB);
	glShaderSourceARB (fragShader, 1, &fragShaderText, NULL);
	glCompileShaderARB (fragShader);

	vertShader = glCreateShaderObjectARB (GL_VERTEX_SHADER_ARB);
	glShaderSourceARB (vertShader, 1, &vertShaderText, NULL);
	glCompileShaderARB (vertShader);

	program = glCreateProgramObjectARB ();
	glAttachObjectARB (program, fragShader);
	glAttachObjectARB (program, vertShader);
	glLinkProgramARB (program);
	glUseProgramObjectARB (program);

	uLightPos = glGetUniformLocationARB (program, "lightPos");
	uDiffuse = glGetUniformLocationARB (program, "diffuse");
	uSpecular = glGetUniformLocationARB (program, "specular");

   glUniform4fvARB (uDiffuse, 1, diffuse);
   glUniform4fvARB (uSpecular, 1, specular);

	glClearColor (0.3f, 0.3f, 0.3f, 0.0f);
	glEnable (GL_DEPTH_TEST);
	glEnable (GL_LIGHT0);
	glEnable (GL_LIGHTING);
	glMaterialfv (GL_FRONT_AND_BACK, GL_DIFFUSE, diffuse);
	glMaterialfv (GL_FRONT_AND_BACK, GL_SPECULAR, specular);
	glMaterialf (GL_FRONT_AND_BACK, GL_SHININESS, 20.0f);

	printf ("GL_RENDERER = %s\n", (const char *) glGetString (GL_RENDERER));
	printf ("Press p to toggle between per-pixel and per-vertex lighting\n");
}