compat.h revision 283927
113240Sprr/*-
213240Sprr * Copyright (c) 2009 Hudson River Trading LLC
313240Sprr * Written by: John H. Baldwin <jhb@FreeBSD.org>
413240Sprr * All rights reserved.
513240Sprr *
613240Sprr * Redistribution and use in source and binary forms, with or without
713240Sprr * modification, are permitted provided that the following conditions
813240Sprr * are met:
913240Sprr * 1. Redistributions of source code must retain the above copyright
1013240Sprr *    notice, this list of conditions and the following disclaimer.
1113240Sprr * 2. Redistributions in binary form must reproduce the above copyright
1213240Sprr *    notice, this list of conditions and the following disclaimer in the
1313240Sprr *    documentation and/or other materials provided with the distribution.
1413240Sprr *
1513240Sprr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1613240Sprr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1713240Sprr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1813240Sprr * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1913240Sprr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2013240Sprr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2113240Sprr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2213240Sprr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2313240Sprr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2413240Sprr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2513240Sprr * SUCH DAMAGE.
2613240Sprr *
2713240Sprr * $FreeBSD: stable/10/lib/libc/include/compat.h 283927 2015-06-02 19:20:39Z jhb $
2813240Sprr */
2913240Sprr
3013240Sprr/*
3113240Sprr * This file defines compatiblity symbol versions for old system calls.  It
3213240Sprr * is included in all generated system call files.
3313240Sprr */
3413240Sprr
3513240Sprr#ifndef __LIBC_COMPAT_H__
3613240Sprr#define	__LIBC_COMPAT_H__
3713240Sprr
3813240Sprr#define	__sym_compat(sym,impl,verid)	\
3913240Sprr	.symver impl, sym@verid
4013240Sprr
4113240Sprr__sym_compat(__semctl, freebsd7___semctl, FBSD_1.0);
4213240Sprr__sym_compat(msgctl, freebsd7_msgctl, FBSD_1.0);
4313240Sprr__sym_compat(shmctl, freebsd7_shmctl, FBSD_1.0);
4413240Sprr
4513240Sprr#undef __sym_compat
4613240Sprr
4713240Sprr#define	__weak_reference(sym,alias)	\
4813240Sprr	.weak	alias;.equ	alias,sym
4913240Sprr
5013240Sprr#ifndef SYSCALL_COMPAT
5113240Sprr__weak_reference(__sys_fcntl,__fcntl_compat)
5213240Sprr#endif
5313240Sprr
5413240Sprr#undef __weak_reference
5513240Sprr
5613240Sprr#endif	/* __LIBC_COMPAT_H__ */
5713240Sprr
5813240Sprr