Change PyBuffer to Py_buffer to be consistent with other non-object structures like Py_complex. Add some more functionality to the memoryview object.
diff --git a/Python/marshal.c b/Python/marshal.c
index 1ec33bd..c488f27 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -367,7 +367,7 @@
/* Write unknown buffer-style objects as a string */
char *s;
PyBufferProcs *pb = v->ob_type->tp_as_buffer;
- PyBuffer view;
+ Py_buffer view;
if ((*pb->bf_getbuffer)(v, &view, PyBUF_SIMPLE) != 0) {
w_byte(TYPE_UNKNOWN, p);
p->error = 1;