1/*	$NetBSD: ttycom.h,v 1.5 2019/06/27 01:58:49 christos Exp $	*/
2
3/*-
4 * Copyright (c) 2012 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Alan Barrett
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 *    notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 *    notice, this list of conditions and the following disclaimer in the
17 *    documentation and/or other materials provided with the distribution.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
30 */
31
32#ifndef	_COMPAT_SYS_TTYCOM_H_
33#define	_COMPAT_SYS_TTYCOM_H_
34
35#if defined(_KERNEL_OPT)
36#include "opt_compat_netbsd.h"
37#endif
38
39#include <sys/types.h>
40#include <sys/ioctl.h>
41
42struct tty;
43
44#ifdef COMPAT_60
45
46/*
47 * The cn and sn fields in struct ptmget changed size from
48 * char[16] to char[PATH_MAX] in NetBSD-6.99.14.
49 */
50struct compat_60_ptmget {
51	int	cfd;
52	int	sfd;
53	char	cn[16];
54	char	sn[16];
55};
56
57#define COMPAT_60_TIOCPTMGET 	 _IOR('t', 70, struct compat_60_ptmget)
58#define COMPAT_60_TIOCPTSNAME 	 _IOR('t', 72, struct compat_60_ptmget)
59
60#ifdef _KERNEL
61int compat_60_ttioctl(struct tty *, u_long, void *, int, struct lwp *);
62int compat_60_ptmioctl(dev_t, u_long, void *, int, struct lwp *);
63#endif
64
65#endif /* COMPAT_60 */
66
67#ifdef COMPAT_43
68#ifdef _KERNEL
69int compat_43_ttioctl(struct tty *, u_long, void *, int, struct lwp *);
70#endif
71#endif
72
73#endif /* !_COMPAT_SYS_TTYCOM_H_ */
74