stream: Implement seek operation support via ioctl, wrapped in generic method.
Also, implement for unix port.
diff --git a/py/obj.h b/py/obj.h
index ab51234..09f277a 100644
--- a/py/obj.h
+++ b/py/obj.h
@@ -231,8 +231,6 @@
// Stream protocol
#define MP_STREAM_ERROR (-1)
-#define MP_STREAM_FLUSH (1)
-#define MP_STREAM_POLL (2)
typedef struct _mp_stream_p_t {
// On error, functions should return MP_STREAM_ERROR and fill in *errcode (values
// are implementation-dependent, but will be exposed to user, e.g. via exception).
@@ -242,6 +240,17 @@
mp_uint_t is_text : 1; // default is bytes, set this for text stream
} mp_stream_p_t;
+// Stream ioctl request codes
+#define MP_STREAM_FLUSH (1)
+#define MP_STREAM_SEEK (2)
+#define MP_STREAM_POLL (3)
+
+// Argument structure for MP_STREAM_SEEK
+struct mp_stream_seek_t {
+ mp_off_t offset;
+ int whence;
+};
+
struct _mp_obj_type_t {
mp_obj_base_t base;
qstr name;