aboutsummaryrefslogtreecommitdiffstats
path: root/Projects
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2013-05-19 22:28:02 +0200
committerDean Camera <dean@fourwalledcubicle.com>2013-05-19 22:28:02 +0200
commit65a8d68c5708c8bc87628d9a25cf0a9d951379ea (patch)
tree6f1474a96020667da31c09264fa12a99a023f998 /Projects
parent139fabb6cdc36bf5259ec2c587f337b106a1c47f (diff)
downloadlufa-65a8d68c5708c8bc87628d9a25cf0a9d951379ea.tar.gz
lufa-65a8d68c5708c8bc87628d9a25cf0a9d951379ea.tar.bz2
lufa-65a8d68c5708c8bc87628d9a25cf0a9d951379ea.zip
Pseudo-port the projects and dual role demos for possible later multi-arch support.
Diffstat (limited to 'Projects')
-rw-r--r--Projects/AVRISP-MKII/AVRISP-MKII.c2
-rw-r--r--Projects/AVRISP-MKII/AVRISP-MKII.h5
-rw-r--r--Projects/Benito/Benito.c5
-rw-r--r--Projects/Benito/Benito.h1
-rw-r--r--Projects/HIDReportViewer/HIDReportViewer.c2
-rw-r--r--Projects/HIDReportViewer/HIDReportViewer.h1
-rw-r--r--Projects/LEDNotifier/LEDNotifier.c2
-rw-r--r--Projects/LEDNotifier/LEDNotifier.h1
-rw-r--r--Projects/MIDIToneGenerator/MIDIToneGenerator.c2
-rw-r--r--Projects/MIDIToneGenerator/MIDIToneGenerator.h1
-rw-r--r--Projects/Magstripe/Magstripe.c2
-rw-r--r--Projects/Magstripe/Magstripe.h1
-rw-r--r--Projects/MediaController/MediaController.c2
-rw-r--r--Projects/MediaController/MediaController.h1
-rw-r--r--Projects/MissileLauncher/MissileLauncher.c2
-rw-r--r--Projects/MissileLauncher/MissileLauncher.h1
-rw-r--r--Projects/RelayBoard/RelayBoard.c2
-rw-r--r--Projects/RelayBoard/RelayBoard.h1
-rw-r--r--Projects/SerialToLCD/SerialToLCD.c8
-rw-r--r--Projects/SerialToLCD/SerialToLCD.h3
-rw-r--r--Projects/TempDataLogger/TempDataLogger.c2
-rw-r--r--Projects/TempDataLogger/TempDataLogger.h3
-rw-r--r--Projects/USBtoSerial/USBtoSerial.c2
-rw-r--r--Projects/USBtoSerial/USBtoSerial.h1
-rw-r--r--Projects/Webserver/Webserver.c2
-rw-r--r--Projects/Webserver/Webserver.h1
-rw-r--r--Projects/XPLAINBridge/XPLAINBridge.c6
-rw-r--r--Projects/XPLAINBridge/XPLAINBridge.h5
28 files changed, 56 insertions, 11 deletions
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.c b/Projects/AVRISP-MKII/AVRISP-MKII.c
index 24b14b8ba..685d7c611 100644
--- a/Projects/AVRISP-MKII/AVRISP-MKII.c
+++ b/Projects/AVRISP-MKII/AVRISP-MKII.c
@@ -63,12 +63,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
LEDs_Init();
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.h b/Projects/AVRISP-MKII/AVRISP-MKII.h
index 0418f213f..138947a48 100644
--- a/Projects/AVRISP-MKII/AVRISP-MKII.h
+++ b/Projects/AVRISP-MKII/AVRISP-MKII.h
@@ -44,6 +44,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
#if defined(ADC)
#include <LUFA/Drivers/Peripheral/ADC.h>
@@ -79,12 +80,12 @@
void EVENT_USB_Device_Connect(void);
void EVENT_USB_Device_Disconnect(void);
void EVENT_USB_Device_ConfigurationChanged(void);
-
+
uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
const uint8_t wIndex,
const void** const DescriptorAddress,
uint8_t* const DescriptorMemorySpace)
- ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4);
+ ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4);
#endif
diff --git a/Projects/Benito/Benito.c b/Projects/Benito/Benito.c
index 7f5d507cf..a89e6caf6 100644
--- a/Projects/Benito/Benito.c
+++ b/Projects/Benito/Benito.c
@@ -171,10 +171,15 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
+ /* Disable clock division */
+ clock_prescale_set(clock_div_1);
+#endif
+
/* Hardware Initialization */
LEDs_Init();
USB_Init();
diff --git a/Projects/Benito/Benito.h b/Projects/Benito/Benito.h
index 938680bf7..beac29f93 100644
--- a/Projects/Benito/Benito.h
+++ b/Projects/Benito/Benito.h
@@ -48,6 +48,7 @@
#include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate TX activity. */
diff --git a/Projects/HIDReportViewer/HIDReportViewer.c b/Projects/HIDReportViewer/HIDReportViewer.c
index 70b2f9e14..6ca33e572 100644
--- a/Projects/HIDReportViewer/HIDReportViewer.c
+++ b/Projects/HIDReportViewer/HIDReportViewer.c
@@ -202,12 +202,14 @@ void OutputCollectionPath(const HID_CollectionPath_t* const CollectionPath)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
Serial_Init(9600, false);
diff --git a/Projects/HIDReportViewer/HIDReportViewer.h b/Projects/HIDReportViewer/HIDReportViewer.h
index 781cfb074..ffe4e00a8 100644
--- a/Projects/HIDReportViewer/HIDReportViewer.h
+++ b/Projects/HIDReportViewer/HIDReportViewer.h
@@ -49,6 +49,7 @@
#include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Projects/LEDNotifier/LEDNotifier.c b/Projects/LEDNotifier/LEDNotifier.c
index 886bf53c6..d6a8fdca3 100644
--- a/Projects/LEDNotifier/LEDNotifier.c
+++ b/Projects/LEDNotifier/LEDNotifier.c
@@ -142,12 +142,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
LEDs_Init();
diff --git a/Projects/LEDNotifier/LEDNotifier.h b/Projects/LEDNotifier/LEDNotifier.h
index 4bb9c0492..0b8579f41 100644
--- a/Projects/LEDNotifier/LEDNotifier.h
+++ b/Projects/LEDNotifier/LEDNotifier.h
@@ -48,6 +48,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Function Prototypes: */
void SetupHardware(void);
diff --git a/Projects/MIDIToneGenerator/MIDIToneGenerator.c b/Projects/MIDIToneGenerator/MIDIToneGenerator.c
index 2505a3eeb..662c815bc 100644
--- a/Projects/MIDIToneGenerator/MIDIToneGenerator.c
+++ b/Projects/MIDIToneGenerator/MIDIToneGenerator.c
@@ -185,12 +185,14 @@ ISR(TIMER0_COMPA_vect, ISR_BLOCK)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
LEDs_Init();
diff --git a/Projects/MIDIToneGenerator/MIDIToneGenerator.h b/Projects/MIDIToneGenerator/MIDIToneGenerator.h
index 27ee34bed..ab434f30e 100644
--- a/Projects/MIDIToneGenerator/MIDIToneGenerator.h
+++ b/Projects/MIDIToneGenerator/MIDIToneGenerator.h
@@ -49,6 +49,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Projects/Magstripe/Magstripe.c b/Projects/Magstripe/Magstripe.c
index 85df8b5ea..8dba7370b 100644
--- a/Projects/Magstripe/Magstripe.c
+++ b/Projects/Magstripe/Magstripe.c
@@ -94,12 +94,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
Magstripe_Init();
diff --git a/Projects/Magstripe/Magstripe.h b/Projects/Magstripe/Magstripe.h
index 6d349dfe5..1291f3d62 100644
--- a/Projects/Magstripe/Magstripe.h
+++ b/Projects/Magstripe/Magstripe.h
@@ -49,6 +49,7 @@
#include "Config/AppConfig.h"
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** Total number of tracks which can be read from the card, between 1 and 3. */
diff --git a/Projects/MediaController/MediaController.c b/Projects/MediaController/MediaController.c
index f1bf649d2..d12a21aac 100644
--- a/Projects/MediaController/MediaController.c
+++ b/Projects/MediaController/MediaController.c
@@ -80,12 +80,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware()
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
Joystick_Init();
diff --git a/Projects/MediaController/MediaController.h b/Projects/MediaController/MediaController.h
index 99f0e1274..d68e2764f 100644
--- a/Projects/MediaController/MediaController.h
+++ b/Projects/MediaController/MediaController.h
@@ -50,6 +50,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Projects/MissileLauncher/MissileLauncher.c b/Projects/MissileLauncher/MissileLauncher.c
index 14134d75c..6294f2dcf 100644
--- a/Projects/MissileLauncher/MissileLauncher.c
+++ b/Projects/MissileLauncher/MissileLauncher.c
@@ -112,12 +112,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
LEDs_Init();
diff --git a/Projects/MissileLauncher/MissileLauncher.h b/Projects/MissileLauncher/MissileLauncher.h
index 5b51b6e79..4e728295b 100644
--- a/Projects/MissileLauncher/MissileLauncher.h
+++ b/Projects/MissileLauncher/MissileLauncher.h
@@ -49,6 +49,7 @@
#include <LUFA/Drivers/Board/Buttons.h>
#include <LUFA/Drivers/Board/Joystick.h>
#include <LUFA/Drivers/Board/LEDs.h>
+ #include <LUFA/Platform/Platform.h>
#include "ConfigDescriptor.h"
diff --git a/Projects/RelayBoard/RelayBoard.c b/Projects/RelayBoard/RelayBoard.c
index 2c236de97..f2ba464ec 100644
--- a/Projects/RelayBoard/RelayBoard.c
+++ b/Projects/RelayBoard/RelayBoard.c
@@ -54,12 +54,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the project's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
USB_Init();
diff --git a/Projects/RelayBoard/RelayBoard.h b/Projects/RelayBoard/RelayBoard.h
index e43eb2b15..149685a68 100644
--- a/Projects/RelayBoard/RelayBoard.h
+++ b/Projects/RelayBoard/RelayBoard.h
@@ -47,6 +47,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
#define RELAY1 (1 << 7)
diff --git a/Projects/SerialToLCD/SerialToLCD.c b/Projects/SerialToLCD/SerialToLCD.c
index 385bcdee3..aac4fadfb 100644
--- a/Projects/SerialToLCD/SerialToLCD.c
+++ b/Projects/SerialToLCD/SerialToLCD.c
@@ -29,7 +29,7 @@
this software.
*/
-/** \file
+/** \file
*
* Main source file for the SerialToLCD program. This file contains the main tasks of
* the project and is responsible for the initial application hardware configuration.
@@ -101,7 +101,7 @@ int main(void)
{
static uint8_t EscapePending = 0;
int16_t HD44780Byte = RingBuffer_Remove(&FromHost_Buffer);
-
+
if (HD44780Byte == COMMAND_ESCAPE)
{
if (EscapePending)
@@ -137,12 +137,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the application's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
USB_Init();
@@ -150,7 +152,7 @@ void SetupHardware(void)
/* Power up the HD44780 Interface */
HD44780_Initialize();
HD44780_WriteCommand(CMD_DISPLAY_ON);
-
+
/* Start the flush timer so that overflows occur rapidly to push received bytes to the USB interface */
TCCR0B = (1 << CS02);
}
diff --git a/Projects/SerialToLCD/SerialToLCD.h b/Projects/SerialToLCD/SerialToLCD.h
index b67b84cf7..22537d609 100644
--- a/Projects/SerialToLCD/SerialToLCD.h
+++ b/Projects/SerialToLCD/SerialToLCD.h
@@ -49,7 +49,8 @@
#include <LUFA/Version.h>
#include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h>
-
+ #include <LUFA/Platform/Platform.h>
+
/* Macros: */
#define COMMAND_ESCAPE 0x1B
diff --git a/Projects/TempDataLogger/TempDataLogger.c b/Projects/TempDataLogger/TempDataLogger.c
index 415ad9f50..7590aeea3 100644
--- a/Projects/TempDataLogger/TempDataLogger.c
+++ b/Projects/TempDataLogger/TempDataLogger.c
@@ -190,12 +190,14 @@ void CloseLogFile(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
LEDs_Init();
diff --git a/Projects/TempDataLogger/TempDataLogger.h b/Projects/TempDataLogger/TempDataLogger.h
index 21373f4a7..86364f4e3 100644
--- a/Projects/TempDataLogger/TempDataLogger.h
+++ b/Projects/TempDataLogger/TempDataLogger.h
@@ -50,11 +50,12 @@
#include "Lib/FATFs/ff.h"
#include "Lib/DS1307.h"
#include "Config/AppConfig.h"
-
+
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Board/Temperature.h>
#include <LUFA/Drivers/Peripheral/ADC.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Projects/USBtoSerial/USBtoSerial.c b/Projects/USBtoSerial/USBtoSerial.c
index 76e3cb837..6df906340 100644
--- a/Projects/USBtoSerial/USBtoSerial.c
+++ b/Projects/USBtoSerial/USBtoSerial.c
@@ -145,12 +145,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
LEDs_Init();
diff --git a/Projects/USBtoSerial/USBtoSerial.h b/Projects/USBtoSerial/USBtoSerial.h
index d37a5405c..220500f91 100644
--- a/Projects/USBtoSerial/USBtoSerial.h
+++ b/Projects/USBtoSerial/USBtoSerial.h
@@ -48,6 +48,7 @@
#include <LUFA/Drivers/Peripheral/Serial.h>
#include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
diff --git a/Projects/Webserver/Webserver.c b/Projects/Webserver/Webserver.c
index be53032d2..173b52e95 100644
--- a/Projects/Webserver/Webserver.c
+++ b/Projects/Webserver/Webserver.c
@@ -60,12 +60,14 @@ int main(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Hardware Initialization */
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
diff --git a/Projects/Webserver/Webserver.h b/Projects/Webserver/Webserver.h
index 1dfa83036..a828e892e 100644
--- a/Projects/Webserver/Webserver.h
+++ b/Projects/Webserver/Webserver.h
@@ -47,6 +47,7 @@
#include <LUFA/Drivers/Board/Dataflash.h>
#include <LUFA/Drivers/Peripheral/SPI.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
#include "USBDeviceMode.h"
#include "USBHostMode.h"
diff --git a/Projects/XPLAINBridge/XPLAINBridge.c b/Projects/XPLAINBridge/XPLAINBridge.c
index 79145a138..2ef1d20ee 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.c
+++ b/Projects/XPLAINBridge/XPLAINBridge.c
@@ -169,12 +169,14 @@ void UARTBridge_Task(void)
/** Configures the board hardware and chip peripherals for the demo's functionality. */
void SetupHardware(void)
{
+#if (ARCH == ARCH_AVR8)
/* Disable watchdog if enabled by bootloader/fuses */
MCUSR &= ~(1 << WDRF);
wdt_disable();
/* Disable clock division */
clock_prescale_set(clock_div_1);
+#endif
/* Disable JTAG debugging */
MCUCR |= (1 << JTD);
@@ -197,8 +199,8 @@ void SetupHardware(void)
#if defined(RESET_TOGGLES_LIBUSB_COMPAT)
UpdateCurrentCompatibilityMode();
#endif
-
- /* USB Stack Initialization */
+
+ /* USB Stack Initialization */
USB_Init();
}
diff --git a/Projects/XPLAINBridge/XPLAINBridge.h b/Projects/XPLAINBridge/XPLAINBridge.h
index 1f08b2aba..55921d804 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.h
+++ b/Projects/XPLAINBridge/XPLAINBridge.h
@@ -45,7 +45,7 @@
#include "USARTDescriptors.h"
- #include "AVRISPDescriptors.h"
+ #include "AVRISPDescriptors.h"
#include "Lib/V2Protocol.h"
#include "Lib/SoftUART.h"
#include "Config/AppConfig.h"
@@ -53,6 +53,7 @@
#include <LUFA/Drivers/Board/LEDs.h>
#include <LUFA/Drivers/Misc/RingBuffer.h>
#include <LUFA/Drivers/USB/USB.h>
+ #include <LUFA/Platform/Platform.h>
/* Macros: */
/** LED mask for the library LED driver, to indicate that the USB interface is not ready. */
@@ -97,7 +98,7 @@
const uint8_t wIndex,
const void** const DescriptorAddress,
uint8_t* const DescriptorMemorySpace)
- ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4);
+ ATTR_WARN_UNUSED_RESULT ATTR_NON_NULL_PTR_ARG(3) ATTR_NON_NULL_PTR_ARG(4);
#endif