bsps/irq: Change license to BSD-2-Clause

Change license to BSD-2-Clause according to file history and
re-licensing agreement.

Update #3053.
This commit is contained in:
Sebastian Huber
2021-06-17 16:01:48 +02:00
committed by Jan Sommer
parent 50a835393a
commit 8d4382ba34
11 changed files with 242 additions and 97 deletions

View File

@@ -1,3 +1,5 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
@@ -5,9 +7,7 @@
*/ */
/* /*
* SPDX-License-Identifier: BSD-2-Clause * Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de)
*
* Copyright (C) 2019 embedded brains GmbH
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions

View File

@@ -1,27 +1,43 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt support API. * @brief This header file provides interfaces of the generic interrupt
* controller support.
*/ */
/* /*
* Based on concepts of Pavel Pisa, Till Straumann and Eric Valette. * Copyright (C) 2016 Chris Johns <chrisj@rtems.org>
* *
* Copyright (c) 2008, 2017 embedded brains GmbH. * Copyright (C) 2008, 2017 embedded brains GmbH (http://www.embedded-brains.de)
* *
* embedded brains GmbH * Redistribution and use in source and binary forms, with or without
* Dornierstr. 4 * modification, are permitted provided that the following conditions
* 82178 Puchheim * are met:
* Germany * 1. Redistributions of source code must retain the above copyright
* <rtems@embedded-brains.de> * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* *
* Copyright (c) 2016 Chris Johns <chrisj@rtems.org> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* The license and distribution terms for this file may be * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* found in the file LICENSE in this distribution or at * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* http://www.rtems.org/license/LICENSE. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/*
* The API is based on concepts of Pavel Pisa, Till Straumann and Eric Valette.
*/ */
#ifndef LIBBSP_SHARED_IRQ_GENERIC_H #ifndef LIBBSP_SHARED_IRQ_GENERIC_H

View File

@@ -1,22 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt information API. * @brief This header file provides interfaces of the generic interrupt
* controller support for the RTEMS Shell.
*/ */
/* /*
* Copyright (c) 2008, 2009 * Copyright (C) 2008, 2009 embedded brains GmbH (http://www.embedded-brains.de)
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
* *
* The license and distribution terms for this file may be * Redistribution and use in source and binary forms, with or without
* found in the file LICENSE in this distribution or at * modification, are permitted provided that the following conditions
* http://www.rtems.org/license/LICENSE. * are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#ifndef LIBBSP_SHARED_IRQ_INFO_H #ifndef LIBBSP_SHARED_IRQ_INFO_H

View File

@@ -1,15 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/**
* @file
*
* @ingroup bsp_interrupt
*
* @brief This source file contains the default implementation of
* bsp_interrupt_handler_default().
*/
/* /*
* Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved. * Copyright (C) 2008, 2012 embedded brains GmbH (http://www.embedded-brains.de)
* *
* embedded brains GmbH * Redistribution and use in source and binary forms, with or without
* Obere Lagerstr. 30 * modification, are permitted provided that the following conditions
* 82178 Puchheim * are met:
* Germany * 1. Redistributions of source code must retain the above copyright
* <rtems@embedded-brains.de> * notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* *
* The license and distribution terms for this file may be * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* found in the file LICENSE in this distribution or at * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* http://www.rtems.org/license/LICENSE. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <inttypes.h> #include <inttypes.h>

View File

@@ -1,13 +1,17 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup RTEMSBSPsShared * @ingroup bsp_interrupt
*
* @brief This source file contains the default implementation of
* bsp_interrupt_vector_enable(), bsp_interrupt_vector_disable(), and
* bsp_interrupt_facility_initialize().
*/ */
/* /*
* SPDX-License-Identifier: BSD-2-Clause * Copyright (C) 2019 embedded brains GmbH (http://www.embedded-brains.de)
*
* Copyright (C) 2019 embedded brains GmbH
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions * modification, are permitted provided that the following conditions

View File

@@ -1,25 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt support implementation. * @brief This source file contains the generic interrupt controller support
* implementation.
*/ */
/* /*
* Based on concepts of Pavel Pisa, Till Straumann and Eric Valette. * Copyright (C) 2008, 2018 embedded brains GmbH (http://www.embedded-brains.de)
* *
* Copyright (c) 2008, 2018 embedded brains GmbH. * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* *
* embedded brains GmbH * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* Dornierstr. 4 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* 82178 Puchheim * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* Germany * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* <rtems@embedded-brains.de> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* The license and distribution terms for this file may be * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* found in the file LICENSE in this distribution or at * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* http://www.rtems.org/license/LICENSE. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <bsp/irq-generic.h> #include <bsp/irq-generic.h>

View File

@@ -1,22 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt information implementation. * @brief This source file contains the implementation of
* bsp_interrupt_report() and bsp_interrupt_report_with_plugin().
*/ */
/* /*
* Copyright (c) 2008, 2009, 2010 * Copyright (C) 2008, 2010 embedded brains GmbH (http://www.embedded-brains.de)
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
* *
* The license and distribution terms for this file may be * Redistribution and use in source and binary forms, with or without
* found in the file LICENSE in this distribution or at * modification, are permitted provided that the following conditions
* http://www.rtems.org/license/LICENSE. * are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <inttypes.h> #include <inttypes.h>

View File

@@ -1,22 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt support legacy implementation. * @brief This source file contains the legacy interrupt controller support
* implementation.
*/ */
/* /*
* Copyright (c) 2008, 2009 * Copyright (C) 2008, 2009 embedded brains GmbH (http://www.embedded-brains.de)
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
* *
* The license and distribution terms for this file may be * Redistribution and use in source and binary forms, with or without
* found in the file LICENSE in this distribution or at * modification, are permitted provided that the following conditions
* http://www.rtems.org/license/LICENSE. * are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <string.h> #include <string.h>

View File

@@ -1,25 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief BSP interrupt support lock implementation. * @brief This source file contains the implementation of
* bsp_interrupt_lock() and bsp_interrupt_unlock().
*/ */
/* /*
* Based on concepts of Pavel Pisa, Till Straumann and Eric Valette. * Copyright (C) 2008, 2018 embedded brains GmbH (http://www.embedded-brains.de)
* *
* Copyright (c) 2008, 2018 embedded brains GmbH. * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* *
* embedded brains GmbH * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* Dornierstr. 4 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* 82178 Puchheim * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* Germany * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* <rtems@embedded-brains.de> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* The license and distribution terms for this file may be * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* found in the file LICENSE in this distribution or at * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* http://www.rtems.org/license/LICENSE. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <bsp/irq-generic.h> #include <bsp/irq-generic.h>

View File

@@ -1,17 +1,36 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt server implementation. * @brief This source file contains the interrupt server implementation.
*/ */
/* /*
* Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de) * Copyright (C) 2009, 2020 embedded brains GmbH (http://www.embedded-brains.de)
* *
* The license and distribution terms for this file may be * Redistribution and use in source and binary forms, with or without
* found in the file LICENSE in this distribution or at * modification, are permitted provided that the following conditions
* http://www.rtems.org/license/LICENSE. * are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <stdlib.h> #include <stdlib.h>

View File

@@ -1,22 +1,37 @@
/* SPDX-License-Identifier: BSD-2-Clause */
/** /**
* @file * @file
* *
* @ingroup bsp_interrupt * @ingroup bsp_interrupt
* *
* @brief Generic BSP interrupt shell implementation. * @brief This source file contains the definition of
* ::bsp_interrupt_shell_command.
*/ */
/* /*
* Copyright (c) 2009 * Copyright (C) 2009 embedded brains GmbH (http://www.embedded-brains.de)
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
* *
* The license and distribution terms for this file may be * Redistribution and use in source and binary forms, with or without
* found in the file LICENSE in this distribution or at * modification, are permitted provided that the following conditions
* http://www.rtems.org/license/LICENSE. * are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/ */
#include <stdio.h> #include <stdio.h>