/* * splashy.c * * Splashy (userspace splash) splash method support * * Copyright (C) 2006 Tim Dijkstra * * This file is released under the GPLv2. * */ #include "config.h" #ifdef CONFIG_SPLASHY #include #include #include #include "splash.h" #include "encrypt.h" #include "splashy_funcs.h" int splashy_open(int mode) { int ret; if ((ret = splashy_init (NULL,(mode==SPL_RESUME?"resume":"suspend"))) < 0) { fprintf(stderr,"splashy_init: error %d",ret); return -1; } if ((ret = splashy_start_splash ()) < 0) { fprintf(stderr,"splashy_start_splash: error %d",ret); return -2; } return 0; } inline int splashy_finish(void) { splashy_stop_splash(); return 0; } inline int splashy_progress(int p) { splashy_update_progressbar (p); return 0; } void splashy_read_password(char *buf, int vrfy) { #if CONFIG_ENCRYPT char *vrfy_buf = vrfy ? buf + PASS_SIZE : buf; do { while (splashy_get_password(buf,PASS_SIZE, "Passphrase please (must be non-empty): ") <= 0); if (vrfy) while (splashy_get_password(vrfy_buf,PASS_SIZE, "Verify passphrase: ") <= 0); } while (vrfy && strncmp(buf, vrfy_buf, PASS_SIZE)); #endif } int splashy_dialog(const char *prompt) { splashy_printline(prompt); return splashy_getchar(); } #endif