summaryrefslogtreecommitdiff
path: root/libretro/libretro-common/include/streams
diff options
context:
space:
mode:
authortwinaphex2018-01-17 00:17:17 +0100
committertwinaphex2018-01-17 00:17:17 +0100
commitc21dcf2342c50554f50e2df302287f5efc7ee5c2 (patch)
tree6f5525cb8b8a67f7575c339c2c063ecd603f3696 /libretro/libretro-common/include/streams
parent077f38e2702c4a704259c9026cf584a423d55982 (diff)
downloadsnes9x2002-c21dcf2342c50554f50e2df302287f5efc7ee5c2.tar.gz
snes9x2002-c21dcf2342c50554f50e2df302287f5efc7ee5c2.tar.bz2
snes9x2002-c21dcf2342c50554f50e2df302287f5efc7ee5c2.zip
Update memory stream
Diffstat (limited to 'libretro/libretro-common/include/streams')
-rw-r--r--libretro/libretro-common/include/streams/memory_stream.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/libretro/libretro-common/include/streams/memory_stream.h b/libretro/libretro-common/include/streams/memory_stream.h
new file mode 100644
index 0000000..dca8e7a
--- /dev/null
+++ b/libretro/libretro-common/include/streams/memory_stream.h
@@ -0,0 +1,61 @@
+/* Copyright (C) 2010-2017 The RetroArch team
+ *
+ * ---------------------------------------------------------------------------------------
+ * The following license statement only applies to this file (memory_stream.h).
+ * ---------------------------------------------------------------------------------------
+ *
+ * Permission is hereby granted, free of charge,
+ * to any person obtaining a copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation the rights to
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
+ * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef _LIBRETRO_SDK_FILE_MEMORY_STREAM_H
+#define _LIBRETRO_SDK_FILE_MEMORY_STREAM_H
+
+#include <stdint.h>
+#include <stddef.h>
+
+#include <retro_common_api.h>
+
+RETRO_BEGIN_DECLS
+
+typedef struct memstream memstream_t;
+
+memstream_t *memstream_open(unsigned writing);
+
+void memstream_close(memstream_t *stream);
+
+size_t memstream_read(memstream_t *stream, void *data, size_t bytes);
+
+size_t memstream_write(memstream_t *stream, const void *data, size_t bytes);
+
+int memstream_getc(memstream_t *stream);
+
+void memstream_putc(memstream_t *stream, int c);
+
+char *memstream_gets(memstream_t *stream, char *buffer, size_t len);
+
+size_t memstream_pos(memstream_t *stream);
+
+void memstream_rewind(memstream_t *stream);
+
+int memstream_seek(memstream_t *stream, int offset, int whence);
+
+void memstream_set_buffer(uint8_t *buffer, size_t size);
+
+size_t memstream_get_last_size(void);
+
+RETRO_END_DECLS
+
+#endif