* [PATCH 0/2] termbits.h cleanup
@ 2022-02-22 11:56 Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 1/2] ia64: termbits.h is identical to asm-generic one Ilpo Järvinen
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Ilpo Järvinen @ 2022-02-22 11:56 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby, linux-serial, linux-ia64,
Chris Zankel, Max Filippov, linux-xtensa
Two simple cleanup patches to termbits.h. I prefer these to go
in through tty-next as I've some other work based on them that
I'll submit later.
Ilpo Järvinen (2):
ia64: termbits.h is identical to asm-generic one
xtensa: termbits.h is identical to asm-generic one
arch/ia64/include/uapi/asm/termbits.h | 209 ----------------------
arch/xtensa/include/uapi/asm/termbits.h | 221 ------------------------
2 files changed, 430 deletions(-)
delete mode 100644 arch/ia64/include/uapi/asm/termbits.h
delete mode 100644 arch/xtensa/include/uapi/asm/termbits.h
--
2.30.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] ia64: termbits.h is identical to asm-generic one
2022-02-22 11:56 [PATCH 0/2] termbits.h cleanup Ilpo Järvinen
@ 2022-02-22 11:56 ` Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 2/2] xtensa: " Ilpo Järvinen
2022-02-22 13:43 ` [PATCH 0/2] termbits.h cleanup Greg Kroah-Hartman
2 siblings, 0 replies; 5+ messages in thread
From: Ilpo Järvinen @ 2022-02-22 11:56 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby, linux-serial, linux-ia64,
Chris Zankel, Max Filippov, linux-xtensa
Remove arch specific termbits.h as there are only trivial space
differences between include/uapi/asm-generic/termbits.h and
arch/ia64/include/uapi/asm/termbits.h:
$ diff -u0 -b -B include/uapi/asm-generic/termbits.h arch/ia64/include/uapi/asm/termbits.h
. --- include/uapi/asm-generic/termbits.h 2022-01-10 13:44:42.814107461 +0200
. +++ arch/ia64/include/uapi/asm/termbits.h 2022-01-10 13:44:42.678106874 +0200
. @@ -2,2 +2,11 @@
. -#ifndef __ASM_GENERIC_TERMBITS_H
. -#define __ASM_GENERIC_TERMBITS_H
. +#ifndef _ASM_IA64_TERMBITS_H
. +#define _ASM_IA64_TERMBITS_H
. +
. +/*
. + * Based on <asm-i386/termbits.h>.
. + *
. + * Modified 1999
. + * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
. + *
. + * 99/01/28 Added new baudrates
. + */
. @@ -200 +209 @@
. -#endif /* __ASM_GENERIC_TERMBITS_H */
. +#endif /* _ASM_IA64_TERMBITS_H */
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
arch/ia64/include/uapi/asm/termbits.h | 209 --------------------------
1 file changed, 209 deletions(-)
delete mode 100644 arch/ia64/include/uapi/asm/termbits.h
diff --git a/arch/ia64/include/uapi/asm/termbits.h b/arch/ia64/include/uapi/asm/termbits.h
deleted file mode 100644
index 000a1a297c75..000000000000
--- a/arch/ia64/include/uapi/asm/termbits.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _ASM_IA64_TERMBITS_H
-#define _ASM_IA64_TERMBITS_H
-
-/*
- * Based on <asm-i386/termbits.h>.
- *
- * Modified 1999
- * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
- *
- * 99/01/28 Added new baudrates
- */
-
-#include <linux/posix_types.h>
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-
-struct termios2 {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-struct ktermios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-/* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define BOTHER 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
-
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#define FLUSHO 0010000
-#define PENDIN 0040000
-#define IEXTEN 0100000
-#define EXTPROC 0200000
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#endif /* _ASM_IA64_TERMBITS_H */
--
2.30.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] xtensa: termbits.h is identical to asm-generic one
2022-02-22 11:56 [PATCH 0/2] termbits.h cleanup Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 1/2] ia64: termbits.h is identical to asm-generic one Ilpo Järvinen
@ 2022-02-22 11:56 ` Ilpo Järvinen
2022-02-22 12:49 ` Max Filippov
2022-02-22 13:43 ` [PATCH 0/2] termbits.h cleanup Greg Kroah-Hartman
2 siblings, 1 reply; 5+ messages in thread
From: Ilpo Järvinen @ 2022-02-22 11:56 UTC (permalink / raw)
To: Greg Kroah-Hartman, Jiri Slaby, linux-serial, linux-ia64,
Chris Zankel, Max Filippov, linux-xtensa
Remove arch specific termbits.h as there are only trivial space
differences between include/uapi/asm-generic/termbits.h and
arch/xtensa/include/uapi/asm/termbits.h.
$ diff -u0 -b -B include/uapi/asm-generic/termbits.h arch/xtensa/include/uapi/asm/termbits.h
. --- include/uapi/asm-generic/termbits.h 2022-01-10 13:44:42.814107461 +0200
. +++ arch/xtensa/include/uapi/asm/termbits.h 2022-01-10 13:44:42.690106926 +0200
. @@ -2,2 +2,15 @@
. -#ifndef __ASM_GENERIC_TERMBITS_H
. -#define __ASM_GENERIC_TERMBITS_H
. +/*
. + * include/asm-xtensa/termbits.h
. + *
. + * Copied from SH.
. + *
. + * This file is subject to the terms and conditions of the GNU General Public
. + * License. See the file "COPYING" in the main directory of this archive
. + * for more details.
. + *
. + * Copyright (C) 2001 - 2005 Tensilica Inc.
. + */
. +
. +#ifndef _XTENSA_TERMBITS_H
. +#define _XTENSA_TERMBITS_H
. +
. @@ -200 +221 @@
. -#endif /* __ASM_GENERIC_TERMBITS_H */
. +#endif /* _XTENSA_TERMBITS_H */
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
arch/xtensa/include/uapi/asm/termbits.h | 221 ------------------------
1 file changed, 221 deletions(-)
delete mode 100644 arch/xtensa/include/uapi/asm/termbits.h
diff --git a/arch/xtensa/include/uapi/asm/termbits.h b/arch/xtensa/include/uapi/asm/termbits.h
deleted file mode 100644
index d4206a7c5138..000000000000
--- a/arch/xtensa/include/uapi/asm/termbits.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * include/asm-xtensa/termbits.h
- *
- * Copied from SH.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2001 - 2005 Tensilica Inc.
- */
-
-#ifndef _XTENSA_TERMBITS_H
-#define _XTENSA_TERMBITS_H
-
-
-#include <linux/posix_types.h>
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-
-struct termios2 {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-struct ktermios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-/* c_cc characters */
-
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-
-/* c_iflag bits */
-
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-/* c_oflag bits */
-
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define BOTHER 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
-
-/* c_lflag bits */
-
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#define FLUSHO 0010000
-#define PENDIN 0040000
-#define IEXTEN 0100000
-#define EXTPROC 0200000
-
-/* tcflow() and TCXONC use these */
-
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#endif /* _XTENSA_TERMBITS_H */
--
2.30.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] xtensa: termbits.h is identical to asm-generic one
2022-02-22 11:56 ` [PATCH 2/2] xtensa: " Ilpo Järvinen
@ 2022-02-22 12:49 ` Max Filippov
0 siblings, 0 replies; 5+ messages in thread
From: Max Filippov @ 2022-02-22 12:49 UTC (permalink / raw)
To: Ilpo Järvinen
Cc: Greg Kroah-Hartman, Jiri Slaby, linux-serial,
open list:IA64 (Itanium) PL..., Chris Zankel,
open list:TENSILICA XTENSA PORT (xtensa)
On Tue, Feb 22, 2022 at 3:56 AM Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> Remove arch specific termbits.h as there are only trivial space
> differences between include/uapi/asm-generic/termbits.h and
> arch/xtensa/include/uapi/asm/termbits.h.
>
> $ diff -u0 -b -B include/uapi/asm-generic/termbits.h arch/xtensa/include/uapi/asm/termbits.h
> . --- include/uapi/asm-generic/termbits.h 2022-01-10 13:44:42.814107461 +0200
> . +++ arch/xtensa/include/uapi/asm/termbits.h 2022-01-10 13:44:42.690106926 +0200
> . @@ -2,2 +2,15 @@
> . -#ifndef __ASM_GENERIC_TERMBITS_H
> . -#define __ASM_GENERIC_TERMBITS_H
> . +/*
> . + * include/asm-xtensa/termbits.h
> . + *
> . + * Copied from SH.
> . + *
> . + * This file is subject to the terms and conditions of the GNU General Public
> . + * License. See the file "COPYING" in the main directory of this archive
> . + * for more details.
> . + *
> . + * Copyright (C) 2001 - 2005 Tensilica Inc.
> . + */
> . +
> . +#ifndef _XTENSA_TERMBITS_H
> . +#define _XTENSA_TERMBITS_H
> . +
> . @@ -200 +221 @@
> . -#endif /* __ASM_GENERIC_TERMBITS_H */
> . +#endif /* _XTENSA_TERMBITS_H */
>
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> arch/xtensa/include/uapi/asm/termbits.h | 221 ------------------------
> 1 file changed, 221 deletions(-)
> delete mode 100644 arch/xtensa/include/uapi/asm/termbits.h
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
--
Thanks.
-- Max
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] termbits.h cleanup
2022-02-22 11:56 [PATCH 0/2] termbits.h cleanup Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 1/2] ia64: termbits.h is identical to asm-generic one Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 2/2] xtensa: " Ilpo Järvinen
@ 2022-02-22 13:43 ` Greg Kroah-Hartman
2 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2022-02-22 13:43 UTC (permalink / raw)
To: Ilpo Järvinen
Cc: Jiri Slaby, linux-serial, linux-ia64, Chris Zankel, Max Filippov,
linux-xtensa
On Tue, Feb 22, 2022 at 01:56:02PM +0200, Ilpo Järvinen wrote:
> Two simple cleanup patches to termbits.h. I prefer these to go
> in through tty-next as I've some other work based on them that
> I'll submit later.
>
> Ilpo Järvinen (2):
> ia64: termbits.h is identical to asm-generic one
> xtensa: termbits.h is identical to asm-generic one
>
> arch/ia64/include/uapi/asm/termbits.h | 209 ----------------------
> arch/xtensa/include/uapi/asm/termbits.h | 221 ------------------------
> 2 files changed, 430 deletions(-)
> delete mode 100644 arch/ia64/include/uapi/asm/termbits.h
> delete mode 100644 arch/xtensa/include/uapi/asm/termbits.h
>
> --
> 2.30.2
>
Sure, I'll be glad to take them, thanks!
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-02-22 13:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-22 11:56 [PATCH 0/2] termbits.h cleanup Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 1/2] ia64: termbits.h is identical to asm-generic one Ilpo Järvinen
2022-02-22 11:56 ` [PATCH 2/2] xtensa: " Ilpo Järvinen
2022-02-22 12:49 ` Max Filippov
2022-02-22 13:43 ` [PATCH 0/2] termbits.h cleanup Greg Kroah-Hartman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox