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/Objects/stringobject.c b/Objects/stringobject.c
index d263812..648711d 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -1160,7 +1160,7 @@
 }
 
 static int
-string_buffer_getbuffer(PyStringObject *self, PyBuffer *view, int flags)
+string_buffer_getbuffer(PyStringObject *self, Py_buffer *view, int flags)
 {
         return PyBuffer_FillInfo(view, (void *)self->ob_sval, Py_Size(self), 0, flags);
 }