1*9558e6acSTreehugger Robot /* $NetBSD: fsutil.h,v 1.114 2009/10/21 01:07:46 snj Exp $ */ 2*9558e6acSTreehugger Robot 3*9558e6acSTreehugger Robot /*- 4*9558e6acSTreehugger Robot * SPDX-License-Identifier: BSD-2-Clause 5*9558e6acSTreehugger Robot * 6*9558e6acSTreehugger Robot * Copyright (c) 1996 Christos Zoulas. All rights reserved. 7*9558e6acSTreehugger Robot * 8*9558e6acSTreehugger Robot * Redistribution and use in source and binary forms, with or without 9*9558e6acSTreehugger Robot * modification, are permitted provided that the following conditions 10*9558e6acSTreehugger Robot * are met: 11*9558e6acSTreehugger Robot * 1. Redistributions of source code must retain the above copyright 12*9558e6acSTreehugger Robot * notice, this list of conditions and the following disclaimer. 13*9558e6acSTreehugger Robot * 2. Redistributions in binary form must reproduce the above copyright 14*9558e6acSTreehugger Robot * notice, this list of conditions and the following disclaimer in the 15*9558e6acSTreehugger Robot * documentation and/or other materials provided with the distribution. 16*9558e6acSTreehugger Robot * 17*9558e6acSTreehugger Robot * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 18*9558e6acSTreehugger Robot * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 19*9558e6acSTreehugger Robot * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 20*9558e6acSTreehugger Robot * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21*9558e6acSTreehugger Robot * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22*9558e6acSTreehugger Robot * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23*9558e6acSTreehugger Robot * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24*9558e6acSTreehugger Robot * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25*9558e6acSTreehugger Robot * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26*9558e6acSTreehugger Robot * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27*9558e6acSTreehugger Robot * 28*9558e6acSTreehugger Robot * $FreeBSD$ 29*9558e6acSTreehugger Robot */ 30*9558e6acSTreehugger Robot 31*9558e6acSTreehugger Robot #ifdef __ANDROID__ 32*9558e6acSTreehugger Robot #define __dead2 __attribute__((__noreturn__)) 33*9558e6acSTreehugger Robot #endif 34*9558e6acSTreehugger Robot 35*9558e6acSTreehugger Robot void pfatal(const char *, ...) __printflike(1, 2); 36*9558e6acSTreehugger Robot void pwarn(const char *, ...) __printflike(1, 2); 37*9558e6acSTreehugger Robot void perr(const char *, ...) __printflike(1, 2); 38*9558e6acSTreehugger Robot void panic(const char *, ...) __dead2 __printflike(1, 2); 39*9558e6acSTreehugger Robot const char *devcheck(const char *); 40*9558e6acSTreehugger Robot const char *cdevname(void); 41*9558e6acSTreehugger Robot void setcdevname(const char *, int); 42*9558e6acSTreehugger Robot struct statfs *getmntpt(const char *); 43*9558e6acSTreehugger Robot void *emalloc(size_t); 44*9558e6acSTreehugger Robot void *erealloc(void *, size_t); 45*9558e6acSTreehugger Robot char *estrdup(const char *); 46*9558e6acSTreehugger Robot 47*9558e6acSTreehugger Robot #ifndef __ANDROID__ 48*9558e6acSTreehugger Robot #define CHECK_PREEN 0x0001 49*9558e6acSTreehugger Robot #define CHECK_VERBOSE 0x0002 50*9558e6acSTreehugger Robot #define CHECK_DEBUG 0x0004 51*9558e6acSTreehugger Robot #define CHECK_BACKGRD 0x0008 52*9558e6acSTreehugger Robot #define DO_BACKGRD 0x0010 53*9558e6acSTreehugger Robot #define CHECK_CLEAN 0x0020 54*9558e6acSTreehugger Robot 55*9558e6acSTreehugger Robot struct fstab; 56*9558e6acSTreehugger Robot int checkfstab(int, int (*)(struct fstab *), 57*9558e6acSTreehugger Robot int (*) (const char *, const char *, const char *, const char *, pid_t *)); 58*9558e6acSTreehugger Robot #endif 59