1*0a6a1f1dSLionel Sambuc /* $NetBSD: fsutil.h,v 1.20 2015/06/21 03:58:36 dholland Exp $ */ 24d4057d8SBen Gras 34d4057d8SBen Gras /* 44d4057d8SBen Gras * Copyright (c) 1996 Christos Zoulas. All rights reserved. 54d4057d8SBen Gras * 64d4057d8SBen Gras * Redistribution and use in source and binary forms, with or without 74d4057d8SBen Gras * modification, are permitted provided that the following conditions 84d4057d8SBen Gras * are met: 94d4057d8SBen Gras * 1. Redistributions of source code must retain the above copyright 104d4057d8SBen Gras * notice, this list of conditions and the following disclaimer. 114d4057d8SBen Gras * 2. Redistributions in binary form must reproduce the above copyright 124d4057d8SBen Gras * notice, this list of conditions and the following disclaimer in the 134d4057d8SBen Gras * documentation and/or other materials provided with the distribution. 144d4057d8SBen Gras * 154d4057d8SBen Gras * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 164d4057d8SBen Gras * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 174d4057d8SBen Gras * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 184d4057d8SBen Gras * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 194d4057d8SBen Gras * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 204d4057d8SBen Gras * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 214d4057d8SBen Gras * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 224d4057d8SBen Gras * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 234d4057d8SBen Gras * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 244d4057d8SBen Gras * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 254d4057d8SBen Gras */ 264d4057d8SBen Gras 274d4057d8SBen Gras #include <stdarg.h> 284d4057d8SBen Gras #include <signal.h> 294d4057d8SBen Gras 3084d9c625SLionel Sambuc void errexit(const char *, ...) __printflike(1, 2) __dead; 3184d9c625SLionel Sambuc void pfatal(const char *, ...) __printflike(1, 2); 3284d9c625SLionel Sambuc void pwarn(const char *, ...) __printflike(1, 2); 3384d9c625SLionel Sambuc void perr(const char *, ...) __printflike(1, 2); 3484d9c625SLionel Sambuc void panic(const char *, ...) __printflike(1, 2) __dead; 3584d9c625SLionel Sambuc void vmsg(int, const char *, va_list) __printflike(2, 0); 364d4057d8SBen Gras const char *blockcheck(const char *); 374d4057d8SBen Gras const char *cdevname(void); 384d4057d8SBen Gras void setcdevname(const char *, int); 394d4057d8SBen Gras int hotroot(void); 404d4057d8SBen Gras const char *print_mtime(time_t); 414d4057d8SBen Gras 424d4057d8SBen Gras #define CHECK_PREEN 1 434d4057d8SBen Gras #define CHECK_VERBOSE 2 444d4057d8SBen Gras #define CHECK_DEBUG 4 454d4057d8SBen Gras #define CHECK_FORCE 8 464d4057d8SBen Gras #define CHECK_PROGRESS 16 474d4057d8SBen Gras #define CHECK_NOFIX 32 484d4057d8SBen Gras 494d4057d8SBen Gras struct fstab; 504d4057d8SBen Gras int checkfstab(int, int, void *(*)(struct fstab *), 514d4057d8SBen Gras int (*) (const char *, const char *, const char *, void *, pid_t *)); 524d4057d8SBen Gras 534d4057d8SBen Gras void (*ckfinish)(int); 54*0a6a1f1dSLionel Sambuc extern volatile sig_atomic_t returntosingle; 5584d9c625SLionel Sambuc void catch(int) __dead; 564d4057d8SBen Gras void catchquit(int); 574d4057d8SBen Gras void voidquit(int); 58