Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/lib/libc/include/compat.h
39476 views
1
/*-
2
* SPDX-License-Identifier: BSD-2-Clause
3
*
4
* Copyright (c) 2009 Hudson River Trading LLC
5
* Written by: John H. Baldwin <[email protected]>
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
* 1. Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
* SUCH DAMAGE.
28
*/
29
30
/*
31
* This file defines compatibility symbol versions for old system calls. It
32
* is included in all generated system call files.
33
*/
34
35
#ifndef __LIBC_COMPAT_H__
36
#define __LIBC_COMPAT_H__
37
38
#define __sym_compat(sym, impl, verid) \
39
.symver impl, sym@verid
40
41
#ifndef NO_COMPAT7
42
__sym_compat(__semctl, freebsd7___semctl, FBSD_1.0);
43
__sym_compat(msgctl, freebsd7_msgctl, FBSD_1.0);
44
__sym_compat(shmctl, freebsd7_shmctl, FBSD_1.0);
45
#endif
46
47
__sym_compat(nfstat, freebsd11_nfstat, FBSD_1.0);
48
__sym_compat(nlstat, freebsd11_nlstat, FBSD_1.0);
49
__sym_compat(nstat, freebsd11_nstat, FBSD_1.0);
50
51
__sym_compat(fhstat, freebsd11_fhstat, FBSD_1.0);
52
__sym_compat(fstat, freebsd11_fstat, FBSD_1.0);
53
__sym_compat(fstatat, freebsd11_fstatat, FBSD_1.1);
54
__sym_compat(lstat, freebsd11_lstat, FBSD_1.0);
55
__sym_compat(stat, freebsd11_stat, FBSD_1.0);
56
57
__sym_compat(getdents, freebsd11_getdents, FBSD_1.0);
58
__sym_compat(getdirentries, freebsd11_getdirentries, FBSD_1.0);
59
60
__sym_compat(getfsstat, freebsd11_getfsstat, FBSD_1.0);
61
__sym_compat(fhstatfs, freebsd11_fhstatfs, FBSD_1.0);
62
__sym_compat(fstatfs, freebsd11_fstatfs, FBSD_1.0);
63
__sym_compat(statfs, freebsd11_statfs, FBSD_1.0);
64
65
__sym_compat(mknod, freebsd11_mknod, FBSD_1.0);
66
__sym_compat(mknodat, freebsd11_mknodat, FBSD_1.1);
67
68
__sym_compat(kevent, freebsd11_kevent, FBSD_1.0);
69
70
__sym_compat(swapoff, freebsd13_swapoff, FBSD_1.0);
71
72
__sym_compat(getgroups, freebsd14_getgroups, FBSD_1.0);
73
__sym_compat(setgroups, freebsd14_setgroups, FBSD_1.0);
74
75
#undef __sym_compat
76
77
#define __weak_reference(sym,alias) \
78
.weak alias;.equ alias,sym
79
80
#undef __weak_reference
81
82
#endif /* __LIBC_COMPAT_H__ */
83
84