1*134e1779SJakub Wojciech Klama /* 2*134e1779SJakub Wojciech Klama * Copyright 2016 Jakub Klama <jceel@FreeBSD.org> 3*134e1779SJakub Wojciech Klama * All rights reserved 4*134e1779SJakub Wojciech Klama * 5*134e1779SJakub Wojciech Klama * Redistribution and use in source and binary forms, with or without 6*134e1779SJakub Wojciech Klama * modification, are permitted providing that the following conditions 7*134e1779SJakub Wojciech Klama * are met: 8*134e1779SJakub Wojciech Klama * 1. Redistributions of source code must retain the above copyright 9*134e1779SJakub Wojciech Klama * notice, this list of conditions and the following disclaimer. 10*134e1779SJakub Wojciech Klama * 2. Redistributions in binary form must reproduce the above copyright 11*134e1779SJakub Wojciech Klama * notice, this list of conditions and the following disclaimer in the 12*134e1779SJakub Wojciech Klama * documentation and/or other materials provided with the distribution. 13*134e1779SJakub Wojciech Klama * 14*134e1779SJakub Wojciech Klama * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15*134e1779SJakub Wojciech Klama * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16*134e1779SJakub Wojciech Klama * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*134e1779SJakub Wojciech Klama * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 18*134e1779SJakub Wojciech Klama * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*134e1779SJakub Wojciech Klama * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*134e1779SJakub Wojciech Klama * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*134e1779SJakub Wojciech Klama * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 22*134e1779SJakub Wojciech Klama * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 23*134e1779SJakub Wojciech Klama * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24*134e1779SJakub Wojciech Klama * POSSIBILITY OF SUCH DAMAGE. 25*134e1779SJakub Wojciech Klama * 26*134e1779SJakub Wojciech Klama */ 27*134e1779SJakub Wojciech Klama 28*134e1779SJakub Wojciech Klama 29*134e1779SJakub Wojciech Klama #ifndef LIB9P_BACKEND_H 30*134e1779SJakub Wojciech Klama #define LIB9P_BACKEND_H 31*134e1779SJakub Wojciech Klama 32*134e1779SJakub Wojciech Klama struct l9p_backend { 33*134e1779SJakub Wojciech Klama void *softc; 34*134e1779SJakub Wojciech Klama void (*freefid)(void *, struct l9p_fid *); 35*134e1779SJakub Wojciech Klama int (*attach)(void *, struct l9p_request *); 36*134e1779SJakub Wojciech Klama int (*clunk)(void *, struct l9p_fid *); 37*134e1779SJakub Wojciech Klama int (*create)(void *, struct l9p_request *); 38*134e1779SJakub Wojciech Klama int (*open)(void *, struct l9p_request *); 39*134e1779SJakub Wojciech Klama int (*read)(void *, struct l9p_request *); 40*134e1779SJakub Wojciech Klama int (*remove)(void *, struct l9p_fid *); 41*134e1779SJakub Wojciech Klama int (*stat)(void *, struct l9p_request *); 42*134e1779SJakub Wojciech Klama int (*walk)(void *, struct l9p_request *); 43*134e1779SJakub Wojciech Klama int (*write)(void *, struct l9p_request *); 44*134e1779SJakub Wojciech Klama int (*wstat)(void *, struct l9p_request *); 45*134e1779SJakub Wojciech Klama int (*statfs)(void *, struct l9p_request *); 46*134e1779SJakub Wojciech Klama int (*lopen)(void *, struct l9p_request *); 47*134e1779SJakub Wojciech Klama int (*lcreate)(void *, struct l9p_request *); 48*134e1779SJakub Wojciech Klama int (*symlink)(void *, struct l9p_request *); 49*134e1779SJakub Wojciech Klama int (*mknod)(void *, struct l9p_request *); 50*134e1779SJakub Wojciech Klama int (*rename)(void *, struct l9p_request *); 51*134e1779SJakub Wojciech Klama int (*readlink)(void *, struct l9p_request *); 52*134e1779SJakub Wojciech Klama int (*getattr)(void *, struct l9p_request *); 53*134e1779SJakub Wojciech Klama int (*setattr)(void *, struct l9p_request *); 54*134e1779SJakub Wojciech Klama int (*xattrwalk)(void *, struct l9p_request *); 55*134e1779SJakub Wojciech Klama int (*xattrcreate)(void *, struct l9p_request *); 56*134e1779SJakub Wojciech Klama int (*xattrread)(void *, struct l9p_request *); 57*134e1779SJakub Wojciech Klama int (*xattrwrite)(void *, struct l9p_request *); 58*134e1779SJakub Wojciech Klama int (*xattrclunk)(void *, struct l9p_fid *); 59*134e1779SJakub Wojciech Klama int (*readdir)(void *, struct l9p_request *); 60*134e1779SJakub Wojciech Klama int (*fsync)(void *, struct l9p_request *); 61*134e1779SJakub Wojciech Klama int (*lock)(void *, struct l9p_request *); 62*134e1779SJakub Wojciech Klama int (*getlock)(void *, struct l9p_request *); 63*134e1779SJakub Wojciech Klama int (*link)(void *, struct l9p_request *); 64*134e1779SJakub Wojciech Klama int (*mkdir)(void *, struct l9p_request *); 65*134e1779SJakub Wojciech Klama int (*renameat)(void *, struct l9p_request *); 66*134e1779SJakub Wojciech Klama int (*unlinkat)(void *, struct l9p_request *); 67*134e1779SJakub Wojciech Klama }; 68*134e1779SJakub Wojciech Klama 69*134e1779SJakub Wojciech Klama #endif /* LIB9P_BACKEND_H */ 70