--- /dev/null
+/* Copyright (c) 2020. The SimGrid Team. All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#ifndef INCLUDE_SIMGRID_DISK_H_
+#define INCLUDE_SIMGRID_DISK_H_
+
+#include <simgrid/forward.h>
+#include <xbt/base.h>
+
+/* C interface */
+SG_BEGIN_DECL
+XBT_PUBLIC const char* sg_disk_name(const_sg_disk_t disk);
+XBT_PUBLIC double sg_disk_read_bandwidth(const_sg_disk_t disk);
+XBT_PUBLIC double sg_disk_write_bandwidth(const_sg_disk_t disk);
+XBT_PUBLIC sg_size_t sg_disk_write(sg_disk_t disk, sg_size_t size);
+XBT_PUBLIC sg_size_t sg_disk_read(sg_disk_t disk, sg_size_t size);
+XBT_PUBLIC void* sg_disk_data(const_sg_disk_t disk);
+XBT_PUBLIC void sg_disk_data_set(sg_disk_t disk, void* data);
+SG_END_DECL
+
+#endif /* INCLUDE_SIMGRID_DISK_H_ */
#ifndef INCLUDE_SIMGRID_S4U_DISK_HPP_
#define INCLUDE_SIMGRID_S4U_DISK_HPP_
+#include <simgrid/disk.h>
#include <simgrid/forward.h>
#include <simgrid/s4u/Io.hpp>
#include <xbt/Extendable.hpp>
} // namespace s4u
} // namespace simgrid
+
+/* **************************** Public C interface *************************** */
+
+const char* sg_disk_name(const_sg_disk_t disk)
+{
+ return disk->get_cname();
+}
+
+double sg_disk_read_bandwidth(const_sg_disk_t disk)
+{
+ return disk->get_read_bandwidth();
+}
+
+double sg_disk_write_bandwidth(const_sg_disk_t disk)
+{
+ return disk->get_write_bandwidth();
+}
+
+sg_size_t sg_disk_read(sg_disk_t disk, sg_size_t size)
+{
+ return disk->read(size);
+}
+sg_size_t sg_disk_write(sg_disk_t disk, sg_size_t size)
+{
+ return disk->write(size);
+}
+void* sg_disk_data(const_sg_disk_t disk)
+{
+ return disk->get_data();
+}
+void sg_disk_data_set(sg_disk_t disk, void* data)
+{
+ disk->set_data(data);
+}
include/simgrid/simix.hpp
include/simgrid/simix/blocking_simcall.hpp
include/simgrid/kernel/future.hpp
+ include/simgrid/disk.h
include/simgrid/host.h
include/simgrid/link.h
include/simgrid/cond.h