Index: pyyaml/trunk/ext/_yaml.pxd
===================================================================
--- pyyaml/trunk/ext/_yaml.pxd	(revision 205)
+++ pyyaml/trunk/ext/_yaml.pxd	(revision 209)
@@ -2,4 +2,6 @@
 cdef extern from "_yaml.h":
 
+    void memcpy(char *d, char *s, int l)
+    int strlen(char *s)
     int PyString_CheckExact(object o)
     int PyUnicode_CheckExact(object o)
@@ -7,4 +9,6 @@
     int PyString_GET_SIZE(object o)
     object PyString_FromStringAndSize(char *v, int l)
+    object PyUnicode_DecodeUTF8(char *s, int s, char *e)
+    object PyUnicode_AsUTF8String(object o)
 
     cdef enum yaml_encoding_t:
@@ -37,4 +41,5 @@
         YAML_FLOW_MAPPING_STYLE
     cdef enum yaml_token_type_t:
+        YAML_NO_TOKEN
         YAML_STREAM_START_TOKEN
         YAML_STREAM_END_TOKEN
@@ -59,4 +64,5 @@
         YAML_SCALAR_TOKEN
     cdef enum yaml_event_type_t:
+        YAML_NO_EVENT
         YAML_STREAM_START_EVENT
         YAML_STREAM_END_EVENT
@@ -71,5 +77,5 @@
 
     ctypedef int yaml_read_handler_t(void *data, char *buffer,
-            int size, int *size_read)
+            int size, int *size_read) except 0
 
     ctypedef struct yaml_mark_t:
@@ -172,5 +178,5 @@
     void yaml_token_delete(yaml_token_t *token)
     void yaml_event_delete(yaml_event_t *event)
-    yaml_parser_t *yaml_parser_new()
+    int yaml_parser_initialize(yaml_parser_t *parser)
     void yaml_parser_delete(yaml_parser_t *parser)
     void yaml_parser_set_input_string(yaml_parser_t *parser,
@@ -180,7 +186,5 @@
     void yaml_parser_set_encoding(yaml_parser_t *parser,
             yaml_encoding_t encoding)
-    yaml_token_t *yaml_parser_get_token(yaml_parser_t *parser)
-    yaml_token_t *yaml_parser_peek_token(yaml_parser_t *parser)
-    yaml_event_t *yaml_parser_get_event(yaml_parser_t *parser)
-    yaml_event_t *yaml_parser_peek_event(yaml_parser_t *parser)
+    int yaml_parser_scan(yaml_parser_t *parser, yaml_token_t *token) except *
+    int yaml_parser_parse(yaml_parser_t *parser, yaml_event_t *event) except *
 
