btrfs-progs: move prefixcmp helper to utils
[btrfs-progs-unstable/devel.git] / library-test.c
blob9d14bbf9153eda201dd40812b22792bde1e62e79
1 /*
2 * Copyright (C) 2014 SUSE. All rights reserved.
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public
6 * License v2 as published by the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public
14 * License along with this program; if not, write to the
15 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
16 * Boston, MA 021110-1307, USA.
19 #include "kerncompat.h"
20 #include "version.h"
21 #include "send-stream.h"
22 #include "btrfs-list.h"
25 * Reduced code snippet from snapper.git/snapper/Btrfs.cc
27 struct btrfs_send_ops send_ops = {
28 .subvol = NULL,
29 .snapshot = NULL,
30 .mkfile = NULL,
31 .mkdir = NULL,
32 .mknod = NULL,
33 .mkfifo = NULL,
34 .mksock = NULL,
35 .symlink = NULL,
36 .rename = NULL,
37 .link = NULL,
38 .unlink = NULL,
39 .rmdir = NULL,
40 .write = NULL,
41 .clone = NULL,
42 .set_xattr = NULL,
43 .remove_xattr = NULL,
44 .truncate = NULL,
45 .chmod = NULL,
46 .chown = NULL,
47 .utimes = NULL,
48 .update_extent = NULL,
52 * Link test only, not intended to be executed.
54 static int test_send_stream_api() {
55 int ret;
56 int fd = -1;
58 #if BTRFS_LIB_VERSION < 101
59 ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0);
60 #else
61 ret = btrfs_read_and_process_send_stream(fd, &send_ops, NULL, 0, 1);
62 #endif
63 return ret;
66 static int test_list_rootid() {
67 u64 treeid;
69 return btrfs_list_get_path_rootid(-1, &treeid);
72 int main() {
73 test_send_stream_api();
74 test_list_rootid();
76 return 0;