xref: /linux/fs/fuse/dev.h (revision 2b07cbc4e4865c246b5ba096def7fb9725d8cc1d)
1f1434857SMiklos Szeredi /* SPDX-License-Identifier: GPL-2.0 */
2f1434857SMiklos Szeredi 
3f1434857SMiklos Szeredi #ifndef _FS_FUSE_DEV_H
4f1434857SMiklos Szeredi #define _FS_FUSE_DEV_H
5f1434857SMiklos Szeredi 
6a73a7883SMiklos Szeredi #include <linux/cleanup.h>
7a73a7883SMiklos Szeredi 
8*2b07cbc4SMiklos Szeredi /** Maximum number of outstanding background requests */
9*2b07cbc4SMiklos Szeredi #define FUSE_DEFAULT_MAX_BACKGROUND 12
10*2b07cbc4SMiklos Szeredi 
11f1434857SMiklos Szeredi struct fuse_conn;
12a73a7883SMiklos Szeredi struct fuse_chan;
13d8189630SMiklos Szeredi struct fuse_dev;
14a73a7883SMiklos Szeredi 
15a73a7883SMiklos Szeredi struct fuse_chan *fuse_chan_new(void);
16b88fb2b9SMiklos Szeredi struct fuse_chan *fuse_dev_chan_new(void);
17b88fb2b9SMiklos Szeredi void fuse_chan_release(struct fuse_chan *fch);
18a73a7883SMiklos Szeredi void fuse_chan_free(struct fuse_chan *fch);
19a73a7883SMiklos Szeredi DEFINE_FREE(fuse_chan_free, struct fuse_chan *, if (_T) fuse_chan_free(_T))
20f1434857SMiklos Szeredi 
21d8189630SMiklos Szeredi void fuse_dev_install(struct fuse_dev *fud, struct fuse_conn *fc);
22d8189630SMiklos Szeredi void fuse_dev_put(struct fuse_dev *fud);
23d8189630SMiklos Szeredi 
24f1434857SMiklos Szeredi void fuse_init_server_timeout(struct fuse_conn *fc, unsigned int timeout);
25f1434857SMiklos Szeredi 
26f1434857SMiklos Szeredi #endif /* _FS_FUSE_DEV_H */
27