xref: /third_party/libfuse/lib/compat.c (revision 6881f68f)
1/*
2  FUSE: Filesystem in Userspace
3  Copyright (C) 2001-2007  Miklos Szeredi <miklos@szeredi.hu>
4
5  Helper functions to create (simple) standalone programs. With the
6  aid of these functions it should be possible to create full FUSE
7  file system by implementing nothing but the request handlers.
8
9  This program can be distributed under the terms of the GNU LGPLv2.
10  See the file COPYING.LIB.
11*/
12
13/* Description:
14    This file has compatibility symbols for platforms that do not
15    support version symboling
16*/
17
18#include "fuse_config.h"
19#include "fuse_i.h"
20#include "fuse_misc.h"
21#include "fuse_opt.h"
22#include "fuse_lowlevel.h"
23#include "mount_util.h"
24
25#include <stdio.h>
26#include <stdlib.h>
27#include <stddef.h>
28#include <unistd.h>
29#include <string.h>
30#include <limits.h>
31#include <errno.h>
32#include <sys/param.h>
33
34/**
35 * Compatibility ABI symbol for systems that do not support version symboling
36 */
37#if (!defined(LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS))
38/* With current libfuse fuse_parse_cmdline is a macro pointing to the
39 * versioned function. Here in this file we need to provide the ABI symbol
40 * and the redirecting macro is conflicting.
41 */
42#ifdef fuse_parse_cmdline
43#undef fuse_parse_cmdline
44#endif
45int fuse_parse_cmdline_30(struct fuse_args *args,
46                           struct fuse_cmdline_opts *opts);
47int fuse_parse_cmdline(struct fuse_args *args,
48		       struct fuse_cmdline_opts *opts);
49int fuse_parse_cmdline(struct fuse_args *args,
50		       struct fuse_cmdline_opts *opts)
51{
52	return fuse_parse_cmdline_30(args, opts);
53}
54#endif
55
56
57