11.12Schristos/*	$NetBSD: compat_mod.h,v 1.12 2024/05/20 01:30:34 christos Exp $	*/
21.1Spgoyette
31.1Spgoyette/*-
41.6Schristos * Copyright (c) 2013, 2019 The NetBSD Foundation, Inc.
51.1Spgoyette * All rights reserved.
61.1Spgoyette *
71.1Spgoyette * This code is derived from software contributed to The NetBSD Foundation
81.1Spgoyette * by Christos Zoulas.
91.1Spgoyette *
101.1Spgoyette * Redistribution and use in source and binary forms, with or without
111.1Spgoyette * modification, are permitted provided that the following conditions
121.1Spgoyette * are met:
131.1Spgoyette * 1. Redistributions of source code must retain the above copyright
141.1Spgoyette *    notice, this list of conditions and the following disclaimer.
151.1Spgoyette * 2. Redistributions in binary form must reproduce the above copyright
161.1Spgoyette *    notice, this list of conditions and the following disclaimer in the
171.1Spgoyette *    documentation and/or other materials provided with the distribution.
181.1Spgoyette *
191.1Spgoyette * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
201.1Spgoyette * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
211.1Spgoyette * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
221.1Spgoyette * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
231.1Spgoyette * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
241.1Spgoyette * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
251.1Spgoyette * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
261.1Spgoyette * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
271.1Spgoyette * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
281.1Spgoyette * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
291.1Spgoyette * POSSIBILITY OF SUCH DAMAGE.
301.1Spgoyette */
311.1Spgoyette
321.1Spgoyette#ifndef	_COMPAT_MOD_H
331.1Spgoyette#define	_COMPAT_MOD_H
341.1Spgoyette
351.11Schristos#ifdef COMPAT_110
361.11Schristosint compat_110_init(void);
371.11Schristosint compat_110_fini(void);
381.11Schristos#endif
391.11Schristos
401.7Spgoyette#ifdef COMPAT_100
411.7Spgoyetteint compat_100_init(void);
421.7Spgoyetteint compat_100_fini(void);
431.8Schristosint kern_event_100_init(void);
441.8Schristosint kern_event_100_fini(void);
451.12Schristosint sys_descrip_100_init(void);
461.12Schristosint sys_descrip_100_fini(void);
471.7Spgoyette#endif
481.7Spgoyette
491.6Schristos#ifdef COMPAT_90
501.6Schristosint compat_90_init(void);
511.6Schristosint compat_90_fini(void);
521.6Schristosint vfs_syscalls_90_init(void);
531.6Schristosint vfs_syscalls_90_fini(void);
541.10Spgoyetteint net_inet6_nd_90_init(void);
551.10Spgoyetteint net_inet6_nd_90_fini(void);
561.6Schristos#endif
571.6Schristos
581.2Spgoyette#ifdef COMPAT_80
591.2Spgoyetteint compat_80_init(void);
601.2Spgoyetteint compat_80_fini(void);
611.2Spgoyettevoid kern_mod_80_init(void);
621.2Spgoyettevoid kern_mod_80_fini(void);
631.5Smsaitohvoid ifmedia_80_init(void);
641.5Smsaitohvoid ifmedia_80_fini(void);
651.2Spgoyette#endif
661.1Spgoyette
671.2Spgoyette#ifdef COMPAT_70
681.2Spgoyetteint compat_70_init(void);
691.2Spgoyetteint compat_70_fini(void);
701.2Spgoyette#endif
711.2Spgoyette
721.2Spgoyette#ifdef COMPAT_60
731.2Spgoyetteint compat_60_init(void);
741.2Spgoyetteint compat_60_fini(void);
751.2Spgoyetteint kern_time_60_init(void);
761.2Spgoyetteint kern_time_60_fini(void);
771.2Spgoyetteint kern_sa_60_init(void);
781.2Spgoyetteint kern_sa_60_fini(void);
791.2Spgoyettevoid kern_tty_60_init(void);
801.2Spgoyettevoid kern_tty_60_fini(void);
811.2Spgoyette#endif
821.2Spgoyette
831.2Spgoyette#ifdef COMPAT_50
841.2Spgoyetteint compat_50_init(void);
851.2Spgoyetteint compat_50_fini(void);
861.2Spgoyetteint kern_50_init(void);
871.2Spgoyetteint kern_50_fini(void);
881.2Spgoyetteint kern_time_50_init(void);
891.2Spgoyetteint kern_time_50_fini(void);
901.2Spgoyetteint kern_select_50_init(void);
911.2Spgoyetteint kern_select_50_fini(void);
921.2Spgoyettevoid uvm_50_init(void);
931.2Spgoyettevoid uvm_50_fini(void);
941.2Spgoyetteint vfs_syscalls_50_init(void);
951.2Spgoyetteint vfs_syscalls_50_fini(void);
961.2Spgoyettevoid uipc_syscalls_50_init(void);
971.2Spgoyettevoid uipc_syscalls_50_fini(void);
981.2Spgoyettevoid vnd_50_init(void);
991.2Spgoyettevoid vnd_50_fini(void);
1001.2Spgoyettevoid rndpseudo_50_init(void);
1011.2Spgoyettevoid rndpseudo_50_fini(void);
1021.2Spgoyettevoid rtsock_50_init(void);
1031.2Spgoyettevoid rtsock_50_fini(void);
1041.4Spgoyettevoid kern_uipc_socket_50_init(void);
1051.4Spgoyettevoid kern_uipc_socket_50_fini(void);
1061.2Spgoyette#endif
1071.2Spgoyette
1081.2Spgoyette#ifdef COMPAT_40
1091.2Spgoyetteint compat_40_init(void);
1101.2Spgoyetteint compat_40_fini(void);
1111.2Spgoyettevoid uipc_syscalls_40_init(void);
1121.2Spgoyettevoid uipc_syscalls_40_fini(void);
1131.2Spgoyetteint vfs_syscalls_40_init(void);
1141.2Spgoyetteint vfs_syscalls_40_fini(void);
1151.2Spgoyettevoid sysmon_power_40_init(void);
1161.2Spgoyettevoid sysmon_power_40_fini(void);
1171.2Spgoyette#endif
1181.2Spgoyette
1191.2Spgoyette#ifdef COMPAT_30
1201.2Spgoyetteint compat_30_init(void);
1211.2Spgoyetteint compat_30_fini(void);
1221.2Spgoyetteint kern_time_30_init(void);
1231.2Spgoyetteint kern_time_30_fini(void);
1241.2Spgoyetteint vfs_syscalls_30_init(void);
1251.2Spgoyetteint vfs_syscalls_30_fini(void);
1261.2Spgoyetteint uipc_syscalls_30_init(void);
1271.2Spgoyetteint uipc_syscalls_30_fini(void);
1281.2Spgoyettevoid bio_30_init(void);
1291.2Spgoyettevoid bio_30_fini(void);
1301.2Spgoyettevoid vnd_30_init(void);
1311.2Spgoyettevoid vnd_30_fini(void);
1321.2Spgoyettevoid usb_30_init(void);
1331.2Spgoyettevoid usb_30_fini(void);
1341.2Spgoyette#endif
1351.2Spgoyette
1361.2Spgoyette#ifdef COMPAT_20
1371.2Spgoyetteint compat_20_init(void);
1381.2Spgoyetteint compat_20_fini(void);
1391.2Spgoyetteint vfs_syscalls_20_init(void);
1401.2Spgoyetteint vfs_syscalls_20_fini(void);
1411.2Spgoyettevoid ieee80211_20_init(void);
1421.2Spgoyettevoid ieee80211_20_fini(void);
1431.2Spgoyettevoid if43_20_init(void);
1441.2Spgoyettevoid if43_20_fini(void);
1451.2Spgoyette#endif
1461.2Spgoyette
1471.2Spgoyette#ifdef COMPAT_16
1481.2Spgoyetteint compat_16_init(void);
1491.2Spgoyetteint compat_16_fini(void);
1501.2Spgoyetteint kern_sig_16_init(void);
1511.2Spgoyetteint kern_sig_16_fini(void);
1521.2Spgoyette#endif
1531.2Spgoyette
1541.2Spgoyette#ifdef COMPAT_14
1551.2Spgoyetteint compat_14_init(void);
1561.2Spgoyetteint compat_14_fini(void);
1571.2Spgoyettevoid rtsock_14_init(void);
1581.2Spgoyettevoid rtsock_14_fini(void);
1591.2Spgoyette#endif
1601.2Spgoyette
1611.2Spgoyette#ifdef COMPAT_13
1621.2Spgoyetteint compat_13_init(void);
1631.2Spgoyetteint compat_13_fini(void);
1641.2Spgoyetteint kern_sig_13_init(void);
1651.2Spgoyetteint kern_sig_13_fini(void);
1661.2Spgoyettevoid uvm_13_init(void);
1671.2Spgoyettevoid uvm_13_fini(void);
1681.2Spgoyette#endif
1691.2Spgoyette
1701.2Spgoyette#ifdef COMPAT_12
1711.2Spgoyetteint compat_12_init(void);
1721.2Spgoyetteint compat_12_fini(void);
1731.2Spgoyetteint kern_xxx_12_init(void);
1741.2Spgoyetteint kern_xxx_12_fini(void);
1751.2Spgoyetteint vm_12_init(void);
1761.2Spgoyetteint vm_12_fini(void);
1771.2Spgoyetteint vfs_syscalls_12_init(void);
1781.2Spgoyetteint vfs_syscalls_12_fini(void);
1791.2Spgoyette#endif
1801.2Spgoyette
1811.2Spgoyette#ifdef COMPAT_10
1821.2Spgoyetteint compat_10_init(void);
1831.2Spgoyetteint compat_10_fini(void);
1841.2Spgoyettevoid vfs_syscalls_10_init(void);
1851.2Spgoyettevoid vfs_syscalls_10_fini(void);
1861.2Spgoyette#endif
1871.2Spgoyette
1881.2Spgoyette#ifdef COMPAT_09
1891.2Spgoyetteint compat_09_init(void);
1901.2Spgoyetteint compat_09_fini(void);
1911.2Spgoyetteint kern_info_09_init(void);
1921.2Spgoyetteint kern_info_09_fini(void);
1931.2Spgoyette#endif
1941.2Spgoyette
1951.2Spgoyette#ifdef COMPAT_43
1961.2Spgoyetteint compat_43_init(void);
1971.2Spgoyetteint compat_43_fini(void);
1981.2Spgoyetteint kern_exit_43_init(void);
1991.2Spgoyetteint kern_exit_43_fini(void);
2001.2Spgoyetteint kern_info_43_init(void);
2011.2Spgoyetteint kern_info_43_fini(void);
2021.2Spgoyetteint kern_resource_43_init(void);
2031.2Spgoyetteint kern_resource_43_fini(void);
2041.2Spgoyetteint kern_sig_43_init(void);
2051.2Spgoyetteint kern_sig_43_fini(void);
2061.3Schristosint kern_tty_43_init(void);
2071.3Schristosint kern_tty_43_fini(void);
2081.2Spgoyetteint uipc_syscalls_43_init(void);
2091.2Spgoyetteint uipc_syscalls_43_fini(void);
2101.2Spgoyetteint vfs_syscalls_43_init(void);
2111.2Spgoyetteint vfs_syscalls_43_fini(void);
2121.2Spgoyetteint vm_43_init(void);
2131.2Spgoyetteint vm_43_fini(void);
2141.2Spgoyetteint if_43_init(void);
2151.2Spgoyetteint if_43_fini(void);
2161.2Spgoyette#endif
2171.2Spgoyette
2181.2Spgoyette#if defined(COMPAT_09) || defined(COMPAT_43)
2191.2Spgoyetteint compat_sysctl_09_43_init(void);
2201.2Spgoyetteint compat_sysctl_09_43_fini(void);
2211.2Spgoyette#endif
2221.1Spgoyette
2231.1Spgoyette#endif /* !_COMPAT_MOD_H_ */
224