Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / cf / linux-kernel-func.m4
CommitLineData
805e021f
CE
1AC_DEFUN([OPENAFS_LINUX_KERNEL_FUNC_CHECKS],[
2dnl Function existence checks
3AC_CHECK_LINUX_FUNC([__vfs_write],
4 [#include <linux/fs.h>],
5 [__vfs_write(NULL, NULL, 0, NULL);])
6AC_CHECK_LINUX_FUNC([kernel_write],
7 [#include <linux/fs.h>],
8 [kernel_write(NULL, NULL, 0, NULL);])
9AC_CHECK_LINUX_FUNC([bdi_init],
10 [#include <linux/backing-dev.h>],
11 [bdi_init(NULL);])
12AC_CHECK_LINUX_FUNC([super_setup_bdi],
13 [#include <linux/backing-dev.h>],
14 [struct super_block *sb;
15 super_setup_bdi(sb);])
16AC_CHECK_LINUX_FUNC([PageChecked],
17 [#include <linux/mm.h>
18 #include <linux/page-flags.h>],
19 [struct page *_page;
20 int bchecked = PageChecked(_page);])
21AC_CHECK_LINUX_FUNC([PageFsMisc],
22 [#include <linux/mm.h>
23 #include <linux/page-flags.h>],
24 [struct page *_page;
25 int bchecked = PageFsMisc(_page);])
26AC_CHECK_LINUX_FUNC([clear_inode],
27 [#include <linux/fs.h>],
28 [clear_inode(NULL);])
29AC_CHECK_LINUX_FUNC([current_kernel_time],
30 [#include <linux/time.h>],
31 [struct timespec s;
32 s = current_kernel_time();])
33AC_CHECK_LINUX_FUNC([d_alloc_anon],
34 [#include <linux/fs.h>],
35 [d_alloc_anon(NULL);])
36AC_CHECK_LINUX_FUNC([d_count],
37 [#include <linux/dcache.h>],
38 [d_count(NULL);])
39AC_CHECK_LINUX_FUNC([d_make_root],
40 [#include <linux/fs.h>],
41 [d_make_root(NULL);])
42AC_CHECK_LINUX_FUNC([do_sync_read],
43 [#include <linux/fs.h>],
44 [do_sync_read(NULL, NULL, 0, NULL);])
45AC_CHECK_LINUX_FUNC([fatal_signal_pending],
46 [#include <linux/sched.h>],
47 [fatal_signal_pending(NULL);])
48AC_CHECK_LINUX_FUNC([file_dentry],
49 [#include <linux/fs.h>],
50 [struct file *f; file_dentry(f);])
51AC_CHECK_LINUX_FUNC([find_task_by_pid],
52 [#include <linux/sched.h>],
53 [pid_t p; find_task_by_pid(p);])
54AC_CHECK_LINUX_FUNC([generic_file_aio_read],
55 [#include <linux/fs.h>],
56 [generic_file_aio_read(NULL,NULL,0,0);])
57AC_CHECK_LINUX_FUNC([grab_cache_page_write_begin],
58 [#include <linux/pagemap.h>],
59 [grab_cache_page_write_begin(NULL, 0, 0);])
60AC_CHECK_LINUX_FUNC([hlist_unhashed],
61 [#include <linux/list.h>],
62 [hlist_unhashed(0);])
63AC_CHECK_LINUX_FUNC([ihold],
64 [#include <linux/fs.h>],
65 [ihold(NULL);])
66AC_CHECK_LINUX_FUNC([i_size_read],
67 [#include <linux/fs.h>],
68 [i_size_read(NULL);])
69AC_CHECK_LINUX_FUNC([inode_setattr],
70 [#include <linux/fs.h>],
71 [inode_setattr(NULL, NULL);])
72AC_CHECK_LINUX_FUNC([iter_file_splice_write],
73 [#include <linux/fs.h>],
74 [iter_file_splice_write(NULL,NULL,NULL,0,0);])
75AC_CHECK_LINUX_FUNC([kernel_setsockopt],
76 [#include <linux/net.h>],
77 [kernel_setsockopt(NULL, 0, 0, NULL, 0);])
78AC_CHECK_LINUX_FUNC([ktime_get_coarse_real_ts64],
79 [#include <linux/ktime.h>],
80 [struct timespec64 *s;
81 ktime_get_coarse_real_ts64(s);])
82AC_CHECK_LINUX_FUNC([ktime_get_real_ts64],
83 [#include <linux/ktime.h>],
84 [struct timespec64 *s;
85 ktime_get_real_ts64(s);])
86AC_CHECK_LINUX_FUNC([locks_lock_file_wait],
87 [#include <linux/fs.h>],
88 [locks_lock_file_wait(NULL, NULL);])
89AC_CHECK_LINUX_FUNC([page_follow_link],
90 [#include <linux/fs.h>],
91 [page_follow_link(0,0);])
92AC_CHECK_LINUX_FUNC([page_get_link],
93 [#include <linux/fs.h>],
94 [page_get_link(0,0,0);])
95AC_CHECK_LINUX_FUNC([page_offset],
96 [#include <linux/pagemap.h>],
97 [page_offset(NULL);])
98AC_CHECK_LINUX_FUNC([pagevec_lru_add_file],
99 [#include <linux/pagevec.h>],
100 [__pagevec_lru_add_file(NULL);])
101AC_CHECK_LINUX_FUNC([path_lookup],
102 [#include <linux/fs.h>
103 #include <linux/namei.h>],
104 [path_lookup(NULL, 0, NULL);])
105AC_CHECK_LINUX_FUNC([proc_create],
106 [#include <linux/proc_fs.h>],
107 [proc_create(NULL, 0, NULL, NULL);])
108AC_CHECK_LINUX_FUNC([rcu_read_lock],
109 [#include <linux/rcupdate.h>],
110 [rcu_read_lock();])
111AC_CHECK_LINUX_FUNC([set_nlink],
112 [#include <linux/fs.h>],
113 [set_nlink(NULL, 1);])
114AC_CHECK_LINUX_FUNC([setattr_prepare],
115 [#include <linux/fs.h>],
116 [setattr_prepare(NULL, NULL);])
117AC_CHECK_LINUX_FUNC([sock_create_kern],
118 [#include <linux/net.h>],
119 [sock_create_kern(0, 0, 0, NULL);])
120AC_CHECK_LINUX_FUNC([sock_create_kern_ns],
121 [#include <linux/net.h>],
122 [sock_create_kern(NULL, 0, 0, 0, NULL);])
123AC_CHECK_LINUX_FUNC([splice_direct_to_actor],
124 [#include <linux/splice.h>],
125 [splice_direct_to_actor(NULL,NULL,NULL);])
126AC_CHECK_LINUX_FUNC([default_file_splice_read],
127 [#include <linux/fs.h>],
128 [default_file_splice_read(NULL,NULL,NULL, 0, 0);])
129AC_CHECK_LINUX_FUNC([svc_addr_in],
130 [#include <linux/sunrpc/svc.h>],
131 [svc_addr_in(NULL);])
132AC_CHECK_LINUX_FUNC([zero_user_segments],
133 [#include <linux/highmem.h>],
134 [zero_user_segments(NULL, 0, 0, 0, 0);])
135AC_CHECK_LINUX_FUNC([noop_fsync],
136 [#include <linux/fs.h>],
137 [void *address = &noop_fsync; printk("%p\n", address)];)
138AC_CHECK_LINUX_FUNC([kthread_run],
139 [#include <linux/kernel.h>
140 #include <linux/kthread.h>],
141 [kthread_run(NULL, NULL, "test");])
142AC_CHECK_LINUX_FUNC([inode_nohighmem],
143 [#include <linux/fs.h>],
144 [inode_nohighmem(NULL);])
145AC_CHECK_LINUX_FUNC([inode_lock],
146 [#include <linux/fs.h>],
147 [inode_lock(NULL);])
148
149dnl Consequences - things which get set as a result of the
150dnl above tests
151AS_IF([test "x$ac_cv_linux_func_d_alloc_anon" = "xno"],
152 [AC_DEFINE([AFS_NONFSTRANS], 1,
153 [define to disable the nfs translator])])
154])