diff --git a/demos/beaglebone/beagle_demo.iid b/demos/beaglebone/beagle_demo.iid
new file mode 100644
index 00000000..32b1946c
--- /dev/null
+++ b/demos/beaglebone/beagle_demo.iid
@@ -0,0 +1,331 @@
+
+
+
+
+
+ Station bus
+ 10
+
+
+ 10.0.0.2
+ 255.255.255.0
+ 10.0.0.1
+ 0001
+ 00000001
+ 0001
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EXT:2015
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ direct-with-normal-security
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ status-only
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ on
+ blocked
+ test
+ test/blocked
+ off
+
+
+
+ Ok
+ Warning
+ Alarm
+
+
+
+ unknown
+ forward
+ backward
+ both
+
+
+
+ status-only
+ direct-with-normal-security
+
+
+
+ not-supported
+ bay-control
+ station-control
+ remote-control
+ automatic-bay
+ automatic-station
+ automatic-remote
+ maintenance
+ process
+
+
+
diff --git a/src/iec61850/server/mms_mapping/reporting.c b/src/iec61850/server/mms_mapping/reporting.c
index b232d0d3..a94d59da 100644
--- a/src/iec61850/server/mms_mapping/reporting.c
+++ b/src/iec61850/server/mms_mapping/reporting.c
@@ -602,7 +602,8 @@ updateReportDataset(MmsMapping* mapping, ReportControl* rc, MmsValue* newDatSet,
success = true;
- rc->isBuffering = true;
+ if (rc->buffered)
+ rc->isBuffering = true;
goto exit_function;
}
diff --git a/src/logging/log_storage.c b/src/logging/log_storage.c
new file mode 100644
index 00000000..e7847e4a
--- /dev/null
+++ b/src/logging/log_storage.c
@@ -0,0 +1,65 @@
+/*
+ * log_storage.c
+ *
+ * Copyright 2016 Michael Zillgith
+ *
+ * This file is part of libIEC61850.
+ *
+ * libIEC61850 is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * libIEC61850 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with libIEC61850. If not, see .
+ *
+ * See COPYING file for the complete license text.
+ */
+
+#include "logging_api.h"
+
+uint64_t
+LogStorage_addEntry(LogStorage self, uint64_t timestamp)
+{
+ return self->addEntry(self, timestamp);
+}
+
+bool
+LogStorage_addEntryData(LogStorage self, uint64_t entryID, const char* dataRef, uint8_t* data, int dataSize, uint8_t reasonCode)
+{
+ return self->addEntryData(self, entryID, dataRef, data, dataSize, reasonCode);
+}
+
+bool
+LogStorage_getEntries(LogStorage self, uint64_t startingTime, uint64_t endingTime,
+ LogEntryCallback entryCallback, LogEntryDataCallback entryDataCallback, void* parameter)
+{
+ return self->getEntries(self, startingTime, endingTime, entryCallback, entryDataCallback, parameter);
+}
+
+bool
+LogStorage_getEntriesAfter(LogStorage self, uint64_t startingTime, uint64_t entryID,
+ LogEntryCallback entryCallback, LogEntryDataCallback entryDataCallback, void* parameter)
+{
+ return self->getEntriesAfter(self, startingTime, entryID, entryCallback, entryDataCallback, parameter);
+}
+
+void
+LogStorage_destroy(LogStorage self)
+{
+ self->destroy(self);
+}
+
+
+bool
+LogStorage_getOldestAndNewestEntries(LogStorage self, uint64_t* newEntry, uint64_t* newEntryTime,
+ uint64_t* oldEntry, uint64_t* oldEntryTime)
+{
+ return self->getOldestAndNewestEntries(self, newEntry, newEntryTime, oldEntry, oldEntryTime);
+}
+