prng_rc_t prng_create(prng_t **prng) { #if !defined(WIN32) int fd = -1; #endif struct timeval tv; pid_t pid; unsigned int i; /* sanity check argument(s) */ if (prng == NULL) return PRNG_RC_ARG; /* allocate object */ if ((*prng = (prng_t *)malloc(sizeof(prng_t))) == NULL) return PRNG_RC_MEM; /* try to open the system PRNG device */ (*prng)->dev = -1; #if !defined(WIN32) if ((fd = open("/dev/urandom", O_RDONLY)) == -1) fd = open("/dev/random", O_RDONLY|O_NONBLOCK); if (fd != -1) { (void)fcntl(fd, F_SETFD, FD_CLOEXEC); (*prng)->dev = fd; } #endif /* initialize MD5 engine */ if (md5_create(&((*prng)->md5)) != MD5_RC_OK) { free(*prng); return PRNG_RC_INT; } /* initialize time resolution compensation counter */ (*prng)->cnt = 0; /* seed the C library PRNG once */ (void)time_gettimeofday(&tv); pid = getpid(); srand((unsigned int)( ((unsigned int)pid << 16) ^ (unsigned int)pid ^ (unsigned int)tv.tv_sec ^ (unsigned int)tv.tv_usec)); for (i = (unsigned int)((tv.tv_sec ^ tv.tv_usec) & 0x1F); i > 0; i--) (void)rand(); return PRNG_RC_OK; }
static void run_simple_md5(struct unittest_manager *manager, const void *parameter) { const struct simple_md5_test *p_test = parameter; struct hash_s md5; if (md5_create(&md5)) { unittest_fail(manager, "failed to get hash context\n"); return; } hashtest_string_test (manager ,&md5 ,p_test->input ,p_test->input_repeats ,p_test->hash ); md5.destroy(&md5); }
void kcl_md5_init(void *ctx) { md5_create(ctx); }
//******************************************************************* // customEvent PRIVATE inherited //******************************************************************* void QBtWorkspace::customEvent( QEvent* const in_event ) { const QBtEvent* const event = dynamic_cast< QBtEvent* >( in_event ); const int type = static_cast<int>( event->type() ); switch( type ) { case QBtEvent::SWITCH_TAB_REQUEST: switch_panels(); break; case QBtEvent::F5_KEY: copy(); break; case QBtEvent::F9_KEY: pack(); break; case QBtEvent::COMPARE_FILES: compare_files(); break; case QBtEvent::COMPARE_DIRS: compare_dirs(); break; case QBtEvent::SYNC_DIRS: sync_dirs(); break; case QBtEvent::JOIN_FILES: join_files(); break; case QBtEvent::DIR_TREE: dir_tree(); break; case QBtEvent::MD5_CREATE: md5_create(); break; case QBtEvent::MD5_CHECK: md5_check(); break; case QBtEvent::DATE_TIME: date_time(); break; case QBtEvent::DROP_FILES: drop_files( event->data(0).toMap() ); break; case QBtEvent::OPEN_OPOSITE: open_oposite(); break; case QBtEvent::OPEN_DIR: open_dir( event->data(0).toString() ); break; case QBtEvent::OPEN_SHELL: open_shell(); break; case QBtEvent::OPEN_TERMINAL: open_terminal(); break; case QBtEvent::OPEN_EDITOR: open_editor(); break; case QBtEvent::EXECUTE: open( event->data(0).toString(), QStringList(), QString() ); break; } }