#pragma once typedef struct io·Reader { Iface impl; int (*read)(void*, byte *buf, int n); } io·Reader; typedef struct io·ByteReader { Iface impl; int (*read)(void*, byte *buf, int n); byte (*get)(void*); } io·ByteReader; typedef struct io·Writer { Iface impl; int (*write)(void*, byte *buf, int n); } io·Writer; typedef struct io·ReadWriter { Iface impl; int (*read)(void*, byte *buf, int n); int (*write)(void*, byte *buf, int n); } io·ReadWriter; typedef enum io·SeekPos { SEEK·set, SEEK·cur, SEEK·end, } io·SeekPos;