Index: include/parrot/extend.h
===================================================================
RCS file: /cvs/public/parrot/include/parrot/extend.h,v
retrieving revision 1.17
diff -u -2 -r1.17 extend.h
--- include/parrot/extend.h	25 Jun 2004 19:05:07 -0000	1.17
+++ include/parrot/extend.h	13 Aug 2004 21:36:19 -0000
@@ -30,4 +30,5 @@
 #define Parrot_PMC PMC *
 #define Parrot_Language Parrot_Int
+#define Parrot_VTABLE VTABLE *
 
 #else
@@ -41,7 +42,9 @@
 typedef const void * Parrot_Const_Encoding;
 typedef const void * Parrot_Const_CharType;
+typedef const void * Parrot_VTABLE;
 
 #endif
 
+Parrot_VTABLE Parrot_get_vtable(Parrot_INTERP, Parrot_Int);
 Parrot_PMC Parrot_PMC_get_pmc_intkey(Parrot_INTERP, Parrot_PMC, Parrot_Int);
 Parrot_STRING Parrot_PMC_get_string(Parrot_INTERP, Parrot_PMC);
@@ -58,4 +61,5 @@
 char *Parrot_PMC_get_cstringn_intkey(Parrot_INTERP, Parrot_PMC, Parrot_Int *, Parrot_Int);
 
+void Parrot_PMC_set_vtable(Parrot_INTERP, Parrot_PMC, Parrot_VTABLE);
 void Parrot_PMC_set_pmc_intkey(Parrot_INTERP, Parrot_PMC, Parrot_Int, Parrot_PMC);
 void Parrot_PMC_set_string(Parrot_INTERP, Parrot_PMC, Parrot_STRING);
Index: src/extend.c
===================================================================
RCS file: /cvs/public/parrot/src/extend.c,v
retrieving revision 1.27
diff -u -2 -r1.27 extend.c
--- src/extend.c	25 Jun 2004 19:05:13 -0000	1.27
+++ src/extend.c	13 Aug 2004 21:36:24 -0000
@@ -800,4 +800,40 @@
 /*
 
+=item C<void
+Parrot_pmc_set_vtable(Parrot_INTERP interpreter, Parrot_PMC pmc,
+                      Parrot_VTABLE vtable)>
+
+Replaces the vtable of the PMC.
+
+=cut
+
+*/
+
+void
+Parrot_PMC_set_vtable(Parrot_INTERP interpreter, Parrot_PMC pmc,
+                      Parrot_VTABLE vtable)
+{
+    pmc->vtable = vtable;
+}
+
+/*
+
+=item C<Parrot_VTABLE
+Parrot_get_vtable(Parrot_INTERP interpreter, Parrot_Int id)>
+
+Returns the vtable corresponding to the given PMC ID.
+
+=cut
+
+*/
+
+Parrot_VTABLE
+Parrot_get_vtable(Parrot_INTERP interpreter, Parrot_Int id)
+{
+    return Parrot_base_vtables[id];
+}
+
+/*
+
 =back
 
