summaryrefslogtreecommitdiffstats
path: root/tmk_core/common
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common')
-rw-r--r--tmk_core/common/action.h6
-rw-r--r--tmk_core/common/action_code.h6
-rw-r--r--tmk_core/common/action_layer.h6
-rw-r--r--tmk_core/common/action_macro.h7
-rw-r--r--tmk_core/common/action_tapping.h6
-rw-r--r--tmk_core/common/action_util.h6
-rw-r--r--tmk_core/common/arm_atsam/printf.h5
-rw-r--r--tmk_core/common/avr/suspend_avr.h5
-rw-r--r--tmk_core/common/avr/timer_avr.h5
-rw-r--r--tmk_core/common/avr/xprintf.h5
-rw-r--r--tmk_core/common/bootloader.h5
-rw-r--r--tmk_core/common/bootmagic.h5
-rw-r--r--tmk_core/common/chibios/eeprom_stm32.h5
-rw-r--r--tmk_core/common/chibios/flash_stm32.h5
-rw-r--r--tmk_core/common/debug.h5
-rw-r--r--tmk_core/common/eeconfig.h5
-rw-r--r--tmk_core/common/eeprom.h5
-rw-r--r--tmk_core/common/host_driver.h5
-rw-r--r--tmk_core/common/keyboard.h5
-rw-r--r--tmk_core/common/keycode.h5
-rw-r--r--tmk_core/common/magic.h5
-rw-r--r--tmk_core/common/matrix.h6
-rw-r--r--tmk_core/common/mousekey.h4
-rw-r--r--tmk_core/common/nodebug.h5
-rw-r--r--tmk_core/common/print.h5
-rw-r--r--tmk_core/common/raw_hid.h5
-rw-r--r--tmk_core/common/sendchar.h5
-rw-r--r--tmk_core/common/sleep_led.h5
-rw-r--r--tmk_core/common/suspend.h5
-rw-r--r--tmk_core/common/timer.h5
-rw-r--r--tmk_core/common/uart.h5
-rw-r--r--tmk_core/common/util.h5
-rw-r--r--tmk_core/common/virtser.h5
-rw-r--r--tmk_core/common/wait.h5
34 files changed, 43 insertions, 134 deletions
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h
index 345c030c94..81cd54369c 100644
--- a/tmk_core/common/action.h
+++ b/tmk_core/common/action.h
@@ -14,8 +14,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef ACTION_H
-#define ACTION_H
+
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -124,5 +124,3 @@ void debug_action(action_t action);
#ifdef __cplusplus
}
#endif
-
-#endif /* ACTION_H */
diff --git a/tmk_core/common/action_code.h b/tmk_core/common/action_code.h
index eea554ff21..eb18c36ae8 100644
--- a/tmk_core/common/action_code.h
+++ b/tmk_core/common/action_code.h
@@ -14,8 +14,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef ACTION_CODE_H
-#define ACTION_CODE_H
+
+#pragma once
/** \brief Action codes
*
@@ -306,5 +306,3 @@ enum swap_hands_param_tap_op {
#define ACTION_SWAP_HANDS_OFF_ON() ACTION(ACT_SWAP_HANDS, OP_SH_OFF_ON)
#define ACTION_SWAP_HANDS_ON() ACTION(ACT_SWAP_HANDS, OP_SH_ON)
#define ACTION_SWAP_HANDS_OFF() ACTION(ACT_SWAP_HANDS, OP_SH_OFF)
-
-#endif /* ACTION_CODE_H */
diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h
index f9f6861120..d72cd3e3a5 100644
--- a/tmk_core/common/action_layer.h
+++ b/tmk_core/common/action_layer.h
@@ -14,8 +14,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef ACTION_LAYER_H
-#define ACTION_LAYER_H
+
+#pragma once
#include <stdint.h>
#include "keyboard.h"
@@ -120,5 +120,3 @@ uint8_t layer_switch_get_layer(keypos_t key);
/* return action depending on current layer status */
action_t layer_switch_get_action(keypos_t key);
-
-#endif
diff --git a/tmk_core/common/action_macro.h b/tmk_core/common/action_macro.h
index 21004ead62..685e2c6ffc 100644
--- a/tmk_core/common/action_macro.h
+++ b/tmk_core/common/action_macro.h
@@ -14,8 +14,9 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef ACTION_MACRO_H
-#define ACTION_MACRO_H
+
+#pragma once
+
#include <stdint.h>
#include "progmem.h"
@@ -120,5 +121,3 @@ enum macro_command_id {
/* for backward comaptibility */
#define MD(key) DOWN(KC_##key)
#define MU(key) UP(KC_##key)
-
-#endif /* ACTION_MACRO_H */
diff --git a/tmk_core/common/action_tapping.h b/tmk_core/common/action_tapping.h
index 7015ce7612..087090f805 100644
--- a/tmk_core/common/action_tapping.h
+++ b/tmk_core/common/action_tapping.h
@@ -14,8 +14,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef ACTION_TAPPING_H
-#define ACTION_TAPPING_H
+
+#pragma once
/* period of tapping(ms) */
#ifndef TAPPING_TERM
@@ -36,5 +36,3 @@ uint16_t get_event_keycode(keyevent_t event, bool update_layer_cache);
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record);
void action_tapping_process(keyrecord_t record);
#endif
-
-#endif
diff --git a/tmk_core/common/action_util.h b/tmk_core/common/action_util.h
index 743ff1406b..ff29f79b09 100644
--- a/tmk_core/common/action_util.h
+++ b/tmk_core/common/action_util.h
@@ -14,8 +14,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef ACTION_UTIL_H
-#define ACTION_UTIL_H
+
+#pragma once
#include <stdint.h>
#include "report.h"
@@ -98,5 +98,3 @@ void clear_oneshot_swaphands(void);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/arm_atsam/printf.h b/tmk_core/common/arm_atsam/printf.h
index ad66722205..95557f5b01 100644
--- a/tmk_core/common/arm_atsam/printf.h
+++ b/tmk_core/common/arm_atsam/printf.h
@@ -1,10 +1,7 @@
-#ifndef _PRINTF_H_
-#define _PRINTF_H_
+#pragma once
#define CONSOLE_PRINTBUF_SIZE 512
void console_printf(char *fmt, ...);
#define __xprintf console_printf
-
-#endif //_PRINTF_H_
diff --git a/tmk_core/common/avr/suspend_avr.h b/tmk_core/common/avr/suspend_avr.h
index e4cc0be505..6df048f3bb 100644
--- a/tmk_core/common/avr/suspend_avr.h
+++ b/tmk_core/common/avr/suspend_avr.h
@@ -1,5 +1,4 @@
-#ifndef SUSPEND_AVR_H
-#define SUSPEND_AVR_H
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -24,5 +23,3 @@ __asm__ __volatile__ ( \
: "r0" \
)
// clang-format on
-
-#endif
diff --git a/tmk_core/common/avr/timer_avr.h b/tmk_core/common/avr/timer_avr.h
index 9aea21c651..c1b726bd01 100644
--- a/tmk_core/common/avr/timer_avr.h
+++ b/tmk_core/common/avr/timer_avr.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef TIMER_AVR_H
-#define TIMER_AVR_H 1
+#pragma once
#include <stdint.h>
@@ -38,5 +37,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if (TIMER_RAW_TOP > 255)
# error "Timer0 can't count 1ms at this clock freq. Use larger prescaler."
#endif
-
-#endif
diff --git a/tmk_core/common/avr/xprintf.h b/tmk_core/common/avr/xprintf.h
index 70e0f8e48a..80834f1714 100644
--- a/tmk_core/common/avr/xprintf.h
+++ b/tmk_core/common/avr/xprintf.h
@@ -2,8 +2,7 @@
Extended itoa, puts and printf (C)ChaN, 2011
-----------------------------------------------------------------------------*/
-#ifndef XPRINTF_H
-#define XPRINTF_H
+#pragma once
#include <inttypes.h>
#include <avr/pgmspace.h>
@@ -102,5 +101,3 @@ char xatoi(char **str, long *ret);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/bootloader.h b/tmk_core/common/bootloader.h
index 19260a0797..25ebd95288 100644
--- a/tmk_core/common/bootloader.h
+++ b/tmk_core/common/bootloader.h
@@ -15,10 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef BOOTLOADER_H
-#define BOOTLOADER_H
+#pragma once
/* give code for your bootloader to come up if needed */
void bootloader_jump(void);
-
-#endif
diff --git a/tmk_core/common/bootmagic.h b/tmk_core/common/bootmagic.h
index c64dc17858..8209d0194f 100644
--- a/tmk_core/common/bootmagic.h
+++ b/tmk_core/common/bootmagic.h
@@ -1,5 +1,4 @@
-#ifndef BOOTMAGIC_H
-#define BOOTMAGIC_H
+#pragma once
/* FIXME: Add special doxygen comments for defines here. */
@@ -101,5 +100,3 @@
void bootmagic(void);
bool bootmagic_scan_keycode(uint8_t keycode);
-
-#endif
diff --git a/tmk_core/common/chibios/eeprom_stm32.h b/tmk_core/common/chibios/eeprom_stm32.h
index 373325cd2f..4dac7c1b59 100644
--- a/tmk_core/common/chibios/eeprom_stm32.h
+++ b/tmk_core/common/chibios/eeprom_stm32.h
@@ -21,8 +21,7 @@
* This library also assumes that the pages are not used by the firmware.
*/
-#ifndef __EEPROM_H
-#define __EEPROM_H
+#pragma once
#include <ch.h>
#include <hal.h>
@@ -83,5 +82,3 @@ uint16_t EEPROM_Init(void);
void EEPROM_Erase(void);
uint16_t EEPROM_WriteDataByte(uint16_t Address, uint8_t DataByte);
uint8_t EEPROM_ReadDataByte(uint16_t Address);
-
-#endif /* __EEPROM_H */
diff --git a/tmk_core/common/chibios/flash_stm32.h b/tmk_core/common/chibios/flash_stm32.h
index 8a874f6065..90d5bff47e 100644
--- a/tmk_core/common/chibios/flash_stm32.h
+++ b/tmk_core/common/chibios/flash_stm32.h
@@ -16,8 +16,7 @@
* Modifications for QMK and STM32F303 by Yiancar
*/
-#ifndef __FLASH_STM32_H
-#define __FLASH_STM32_H
+#pragma once
#ifdef __cplusplus
extern "C" {
@@ -41,5 +40,3 @@ void FLASH_ClearFlag(uint32_t FLASH_FLAG);
#ifdef __cplusplus
}
#endif
-
-#endif /* __FLASH_STM32_H */
diff --git a/tmk_core/common/debug.h b/tmk_core/common/debug.h
index f9d611bb03..3d2e2315ef 100644
--- a/tmk_core/common/debug.h
+++ b/tmk_core/common/debug.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef DEBUG_H
-#define DEBUG_H 1
+#pragma once
#include <stdbool.h>
#include "print.h"
@@ -168,5 +167,3 @@ extern debug_config_t debug_config;
# define debug_bin_reverse(data)
#endif /* NO_DEBUG */
-
-#endif
diff --git a/tmk_core/common/eeconfig.h b/tmk_core/common/eeconfig.h
index 6fbe789031..c4f0483913 100644
--- a/tmk_core/common/eeconfig.h
+++ b/tmk_core/common/eeconfig.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef EECONFIG_H
-#define EECONFIG_H
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -111,5 +110,3 @@ void eeconfig_update_haptic(uint32_t val);
bool eeconfig_read_handedness(void);
void eeconfig_update_handedness(bool val);
-
-#endif
diff --git a/tmk_core/common/eeprom.h b/tmk_core/common/eeprom.h
index 8a81e70668..f5b3f0ad53 100644
--- a/tmk_core/common/eeprom.h
+++ b/tmk_core/common/eeprom.h
@@ -1,5 +1,4 @@
-#ifndef TMK_CORE_COMMON_EEPROM_H_
-#define TMK_CORE_COMMON_EEPROM_H_
+#pragma once
#if defined(__AVR__) && !defined(EEPROM_DRIVER)
# include <avr/eeprom.h>
@@ -20,5 +19,3 @@ void eeprom_update_word(uint16_t *__p, uint16_t __value);
void eeprom_update_dword(uint32_t *__p, uint32_t __value);
void eeprom_update_block(const void *__src, void *__dst, size_t __n);
#endif
-
-#endif /* TMK_CORE_COMMON_EEPROM_H_ */
diff --git a/tmk_core/common/host_driver.h b/tmk_core/common/host_driver.h
index 3cfec40cca..f34a220530 100644
--- a/tmk_core/common/host_driver.h
+++ b/tmk_core/common/host_driver.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef HOST_DRIVER_H
-#define HOST_DRIVER_H
+#pragma once
#include <stdint.h>
#include "report.h"
@@ -31,5 +30,3 @@ typedef struct {
void (*send_system)(uint16_t);
void (*send_consumer)(uint16_t);
} host_driver_t;
-
-#endif
diff --git a/tmk_core/common/keyboard.h b/tmk_core/common/keyboard.h
index caa18e7e76..d04e685cdb 100644
--- a/tmk_core/common/keyboard.h
+++ b/tmk_core/common/keyboard.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef KEYBOARD_H
-#define KEYBOARD_H
+#pragma once
#include <stdbool.h>
#include <stdint.h>
@@ -77,5 +76,3 @@ void housekeeping_task_user(void);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/keycode.h b/tmk_core/common/keycode.h
index 5c8ba8fe60..d35e44d8dc 100644
--- a/tmk_core/common/keycode.h
+++ b/tmk_core/common/keycode.h
@@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* See https://web.archive.org/web/20060218214400/http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
* or http://www.usb.org/developers/hidpage/Hut1_12v2.pdf (older)
*/
-#ifndef KEYCODE_H
-#define KEYCODE_H
+
+#pragma once
/* FIXME: Add doxygen comments here */
@@ -542,4 +542,3 @@ enum mouse_keys {
KC_MS_ACCEL1,
KC_MS_ACCEL2
};
-#endif
diff --git a/tmk_core/common/magic.h b/tmk_core/common/magic.h
index 3fa2d8b81c..a6552c04dc 100644
--- a/tmk_core/common/magic.h
+++ b/tmk_core/common/magic.h
@@ -1,6 +1,3 @@
-#ifndef MAGIC_H
-#define MAGIC_H
+#pragma once
void magic(void);
-
-#endif
diff --git a/tmk_core/common/matrix.h b/tmk_core/common/matrix.h
index 31ec844302..e36f014600 100644
--- a/tmk_core/common/matrix.h
+++ b/tmk_core/common/matrix.h
@@ -14,8 +14,8 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef MATRIX_H
-#define MATRIX_H
+
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -76,5 +76,3 @@ void matrix_scan_user(void);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/mousekey.h b/tmk_core/common/mousekey.h
index 05e4538234..300d262f5d 100644
--- a/tmk_core/common/mousekey.h
+++ b/tmk_core/common/mousekey.h
@@ -15,9 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef MOUSEKEY_H
-# define MOUSEKEY_H
-#endif
+#pragma once
#include <stdbool.h>
#include "host.h"
diff --git a/tmk_core/common/nodebug.h b/tmk_core/common/nodebug.h
index b9c8b3ac0f..0b176684bd 100644
--- a/tmk_core/common/nodebug.h
+++ b/tmk_core/common/nodebug.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef NODEBUG_H
-#define NODEBUG_H
+#pragma once
#ifndef NO_DEBUG
# define NO_DEBUG
@@ -25,5 +24,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#else
# include "debug.h"
#endif
-
-#endif
diff --git a/tmk_core/common/print.h b/tmk_core/common/print.h
index 1c77236212..647a5aa053 100644
--- a/tmk_core/common/print.h
+++ b/tmk_core/common/print.h
@@ -22,8 +22,7 @@
* THE SOFTWARE.
*/
-#ifndef PRINT_H__
-#define PRINT_H__ 1
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -269,5 +268,3 @@ extern "C"
#define pbin16(data) print_bin16(data)
#define pbin_reverse(data) print_bin_reverse8(data)
#define pbin_reverse16(data) print_bin_reverse16(data)
-
-#endif
diff --git a/tmk_core/common/raw_hid.h b/tmk_core/common/raw_hid.h
index c579157f14..6d60ab2bff 100644
--- a/tmk_core/common/raw_hid.h
+++ b/tmk_core/common/raw_hid.h
@@ -1,8 +1,5 @@
-#ifndef _RAW_HID_H_
-#define _RAW_HID_H_
+#pragma once
void raw_hid_receive(uint8_t *data, uint8_t length);
void raw_hid_send(uint8_t *data, uint8_t length);
-
-#endif
diff --git a/tmk_core/common/sendchar.h b/tmk_core/common/sendchar.h
index bd7b94fd99..b150dd464e 100644
--- a/tmk_core/common/sendchar.h
+++ b/tmk_core/common/sendchar.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef SENDCHAR_H
-#define SENDCHAR_H
+#pragma once
#include <stdint.h>
@@ -30,5 +29,3 @@ int8_t sendchar(uint8_t c);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/sleep_led.h b/tmk_core/common/sleep_led.h
index d160213f11..38f80a660d 100644
--- a/tmk_core/common/sleep_led.h
+++ b/tmk_core/common/sleep_led.h
@@ -1,5 +1,4 @@
-#ifndef SLEEP_LED_H
-#define SLEEP_LED_H
+#pragma once
#ifdef SLEEP_LED_ENABLE
@@ -16,5 +15,3 @@ void sleep_led_toggle(void);
# define sleep_led_toggle()
#endif
-
-#endif
diff --git a/tmk_core/common/suspend.h b/tmk_core/common/suspend.h
index 87f5025da7..766df95aa1 100644
--- a/tmk_core/common/suspend.h
+++ b/tmk_core/common/suspend.h
@@ -1,5 +1,4 @@
-#ifndef SUSPEND_H
-#define SUSPEND_H
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -13,5 +12,3 @@ void suspend_wakeup_init_user(void);
void suspend_wakeup_init_kb(void);
void suspend_power_down_user(void);
void suspend_power_down_kb(void);
-
-#endif
diff --git a/tmk_core/common/timer.h b/tmk_core/common/timer.h
index 7ee7feac29..58f637dd93 100644
--- a/tmk_core/common/timer.h
+++ b/tmk_core/common/timer.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef TIMER_H
-#define TIMER_H 1
+#pragma once
#include <stdint.h>
#include <stdbool.h>
@@ -51,5 +50,3 @@ uint32_t timer_elapsed32(uint32_t last);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/uart.h b/tmk_core/common/uart.h
index 59a1a7cd12..ea247b17b8 100644
--- a/tmk_core/common/uart.h
+++ b/tmk_core/common/uart.h
@@ -1,5 +1,4 @@
-#ifndef _uart_included_h_
-#define _uart_included_h_
+#pragma once
#include <stdint.h>
@@ -7,5 +6,3 @@ void uart_init(uint32_t baud);
void uart_putchar(uint8_t c);
uint8_t uart_getchar(void);
uint8_t uart_available(void);
-
-#endif
diff --git a/tmk_core/common/util.h b/tmk_core/common/util.h
index 68642e7fd3..db57f268c3 100644
--- a/tmk_core/common/util.h
+++ b/tmk_core/common/util.h
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef UTIL_H
-#define UTIL_H
+#pragma once
#include <stdint.h>
@@ -46,5 +45,3 @@ uint32_t bitrev32(uint32_t bits);
#ifdef __cplusplus
}
#endif
-
-#endif
diff --git a/tmk_core/common/virtser.h b/tmk_core/common/virtser.h
index 74891b6ae0..a0645f9e03 100644
--- a/tmk_core/common/virtser.h
+++ b/tmk_core/common/virtser.h
@@ -1,10 +1,7 @@
-#ifndef _VIRTSER_H_
-#define _VIRTSER_H_
+#pragma once
/* Define this function in your code to process incoming bytes */
void virtser_recv(const uint8_t ch);
/* Call this to send a character over the Virtual Serial Device */
void virtser_send(const uint8_t byte);
-
-#endif
diff --git a/tmk_core/common/wait.h b/tmk_core/common/wait.h
index f5ef12ac07..89128e9daf 100644
--- a/tmk_core/common/wait.h
+++ b/tmk_core/common/wait.h
@@ -1,5 +1,4 @@
-#ifndef WAIT_H
-#define WAIT_H
+#pragma once
#include <inttypes.h>
@@ -41,5 +40,3 @@ void wait_ms(uint32_t ms);
#ifdef __cplusplus
}
#endif
-
-#endif