1168457Skato/*- 264123Skato * Copyright (c) 2010-2012 Semihalf. 364123Skato * All rights reserved. 464123Skato * 564123Skato * Redistribution and use in source and binary forms, with or without 664123Skato * modification, are permitted provided that the following conditions 764123Skato * are met: 864123Skato * 1. Redistributions of source code must retain the above copyright 964123Skato * notice, this list of conditions and the following disclaimer. 1064123Skato * 2. Redistributions in binary form must reproduce the above copyright 1164123Skato * notice, this list of conditions and the following disclaimer in the 1264123Skato * documentation and/or other materials provided with the distribution. 1364123Skato * 1464123Skato * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1564123Skato * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1664123Skato * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1764123Skato * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1864123Skato * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1964123Skato * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2064123Skato * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2164123Skato * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2264123Skato * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2364123Skato * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2464123Skato * SUCH DAMAGE. 2564123Skato * 2664123Skato * $FreeBSD$ 2764123Skato */ 2864123Skato 2964123Skato#ifndef _LIBNANDFS_NANDFS_H 3064123Skato#define _LIBNANDFS_NANDFS_H 3164123Skato 3264123Skatostruct nandfs { 3364123Skato struct nandfs_fsdata n_fsdata; 3464123Skato struct nandfs_super_block n_sb; 35114521Skato char n_ioc[MNAMELEN]; 36114521Skato char n_dev[MNAMELEN]; 37168457Skato int n_iocfd; 38168457Skato int n_devfd; 39168457Skato int n_flags; 40168457Skato char n_errmsg[120]; 41168457Skato}; 42168457Skato 43168457Skatoint nandfs_iserror(struct nandfs *); 44114521Skatoconst char *nandfs_errmsg(struct nandfs *); 45114521Skato 46168457Skatovoid nandfs_init(struct nandfs *, const char *); 47168457Skatovoid nandfs_destroy(struct nandfs *); 48168457Skato 49168457Skatoconst char *nandfs_dev(struct nandfs *); 5064123Skato 5164123Skatoint nandfs_open(struct nandfs *); 5264123Skatovoid nandfs_close(struct nandfs *); 5364123Skato 5464123Skatoint nandfs_get_cpstat(struct nandfs *, struct nandfs_cpstat *); 5564123Skato 5664123Skatossize_t nandfs_get_cp(struct nandfs *, uint64_t, 5764123Skato struct nandfs_cpinfo *, size_t); 5864123Skato 5964123Skatossize_t nandfs_get_snap(struct nandfs *, uint64_t, 6064123Skato struct nandfs_cpinfo *, size_t); 6164123Skato 6264123Skatoint nandfs_make_snap(struct nandfs *, uint64_t *); 6364123Skatoint nandfs_delete_snap(struct nandfs *, uint64_t); 6464123Skato 6564123Skato#endif /* _LIBNANDFS_NANDFS_H */ 6664123Skato