static void stop(isc_entropysource_t *source, void *arg) { isc_keyboard_t *kbd = (isc_keyboard_t *)arg; UNUSED(source); printf("ENOUGH! Stop typing, please.\r\n"); (void)isc_keyboard_close(kbd, 3); printf("stop called\n"); }
int main(int argc, char **argv) { isc_keyboard_t kbd; unsigned char c; isc_result_t res; unsigned int count; UNUSED(argc); UNUSED(argv); isc__mem_register(); isc__task_register(); isc__timer_register(); isc__socket_register(); printf("Type Q to exit.\n"); res = isc_keyboard_open(&kbd); CHECK("isc_keyboard_open()", res); c = 'x'; count = 0; while (res == ISC_R_SUCCESS && c != 'Q') { res = isc_keyboard_getchar(&kbd, &c); printf("."); fflush(stdout); count++; if (count % 64 == 0) printf("\r\n"); } printf("\r\n"); if (res != ISC_R_SUCCESS) { printf("FAILURE: keyboard getchar failed: %s\r\n", isc_result_totext(res)); goto errout; } errout: res = isc_keyboard_close(&kbd, 3); CHECK("isc_keyboard_close()", res); return (0); }