 
 TYPEDEF: void* cairo_write_func_t
 : cairo-write-func ( quot -- callback )
-    [ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline
+    [ cairo_status_t { void* uchar* int } "cdecl" ] dip alien-callback ; inline
                           
 TYPEDEF: void* cairo_read_func_t
 : cairo-read-func ( quot -- callback )
-    [ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline
+    [ cairo_status_t { void* uchar* int } "cdecl" ] dip alien-callback ; inline
 
 ! Functions for manipulating state objects
 FUNCTION: cairo_t*

FUNCTION: void
cairo_clip_extents ( cairo_t* cr, double* x1, double* y1, double* x2, double* y2 ) ;

C-STRUCT: cairo_rectangle_t
    { "double" "x" }
    { "double" "y" }
    { "double" "width" }
    { "double" "height" } ;
    
C-STRUCT: cairo_rectangle_list_t
    { "cairo_status_t"     "status" }
    { "cairo_rectangle_t*" "rectangles" }
    { "int"                "num_rectangles" } ;

FUNCTION: cairo_rectangle_list_t*
cairo_copy_clip_rectangle_list ( cairo_t* cr ) ;

TYPEDEF: void* cairo_t
TYPEDEF: void* cairo_surface_t

STRUCT: cairo_matrix_t
    { xx double }
    { yx double }
    { xy double }
    { yy double }
    { x0 double }
    { y0 double } ;

TYPEDEF: void* cairo_pattern_t

TYPEDEF: void* cairo_destroy_func_t
: cairo-destroy-func ( quot -- callback )
    [ void { void* } "cdecl" ] dip alien-callback ; inline

! See cairo.h for details
STRUCT: cairo_user_data_key_t
    { unused int } ;

TYPEDEF: int cairo_status_t
C-ENUM:
