
/*
 * Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
 *
 * Automatically generated by classgen.pl
 */
#ifndef _DEV_OBJS_H_
#define _DEV_OBJS_H_

#ifdef __cplusplus
extern "C" {
#endif

#define class struct

struct  br_object;
struct  br_object_container;
struct  br_device;
struct  br_facility;
struct  br_output_facility;
struct  br_device_pixelmap;
struct  br_device_clut;
struct  br_renderer_facility;
struct  br_renderer;
struct  br_renderer_state_stored;
struct  br_geometry;
struct  br_geometry_stored;
struct  br_geometry_primitives;
struct  br_geometry_v1_model;
struct  br_geometry_v1_buckets;
struct  br_geometry_lighting;
struct  br_buffer_stored;
struct  br_primitive_library;
struct  br_primitive_state;


struct  br_object_dispatch;

#ifndef BR_OBJECT_PRIVATE
typedef struct br_object {
	struct  br_object_dispatch *dispatch;
	
} br_object;
#endif

struct  br_object_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
};
struct  br_object_container_dispatch;

#ifndef BR_OBJECT_CONTAINER_PRIVATE
typedef struct br_object_container {
	struct  br_object_container_dispatch *dispatch;
	
} br_object_container;
#endif

struct  br_object_container_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
};
struct  br_device_dispatch;

#ifndef BR_DEVICE_PRIVATE
typedef struct br_device {
	struct  br_device_dispatch *dispatch;
	
} br_device;
#endif

struct  br_device_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
};
struct  br_facility_dispatch;

#ifndef BR_FACILITY_PRIVATE
typedef struct br_facility {
	struct  br_facility_dispatch *dispatch;
	
} br_facility;
#endif

struct  br_facility_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
};
struct  br_output_facility_dispatch;

#ifndef BR_OUTPUT_FACILITY_PRIVATE
typedef struct br_output_facility {
	struct  br_output_facility_dispatch *dispatch;
	
} br_output_facility;
#endif

struct  br_output_facility_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_output_facility, validSource)(
		struct br_output_facility *self,
		br_boolean *bp,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_output_facility, pixelmapNew)(
		struct br_output_facility *self,
		class br_device_pixelmap **ppmap,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_output_facility, clutNew)(
		struct br_output_facility *self,
		class br_device_clut **pclut,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_output_facility, queryCapability)(
		struct br_output_facility *self,
		br_token_value *buffer_in,
		br_token_value *buffer_out,
		br_size_t size_buffer_out);
};
struct  br_device_pixelmap_dispatch;

#ifndef BR_DEVICE_PIXELMAP_PRIVATE
typedef struct br_device_pixelmap {
	struct  br_device_pixelmap_dispatch *dispatch;
			 char *pm_identifier ;
		 BR_PIXELMAP_MEMBERS

} br_device_pixelmap;
#endif

struct  br_device_pixelmap_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, validSource)(
		struct br_device_pixelmap *self,
		br_boolean *bp,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, resize)(
		struct br_device_pixelmap *self,
		br_int_32 width,
		br_int_32 height);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, match)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap **newpm,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, allocateSub)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap **newpm,
		br_rectangle *rect);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copy)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copyTo)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copyFrom)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, fill)(
		struct br_device_pixelmap *self,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, doubleBuffer)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copyDirty)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src,
		br_rectangle *dirty,
		br_int_32 num_rects);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copyToDirty)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src,
		br_rectangle *dirty,
		br_int_32 num_rects);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copyFromDirty)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src,
		br_rectangle *dirty,
		br_int_32 num_rects);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, fillDirty)(
		struct br_device_pixelmap *self,
		br_uint_32 colour,
		br_rectangle *dirty,
		br_int_32 num_rects);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, doubleBufferDirty)(
		struct br_device_pixelmap *self,
		class br_device_pixelmap *src,
		br_rectangle *dirty,
		br_int_32 num_rects);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangle)(
		struct br_device_pixelmap *self,
		br_rectangle *rect,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangle2)(
		struct br_device_pixelmap *self,
		br_rectangle *rect,
		br_uint_32 colour_tl,
		br_uint_32 colour_br);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleCopy)(
		struct br_device_pixelmap *self,
		br_point *p,
		class br_device_pixelmap *src,
		br_rectangle *src_rect);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleCopyTo)(
		struct br_device_pixelmap *self,
		br_point *p,
		class br_device_pixelmap *src,
		br_rectangle *src_rect);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleCopyFrom)(
		struct br_device_pixelmap *self,
		br_point *p,
		class br_device_pixelmap *src,
		br_rectangle *src_rect);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleStretchCopy)(
		struct br_device_pixelmap *self,
		br_rectangle *r,
		class br_device_pixelmap *s,
		br_rectangle *q);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleStretchCopyTo)(
		struct br_device_pixelmap *self,
		br_rectangle *r,
		class br_device_pixelmap *s,
		br_rectangle *q);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleStretchCopyFrom)(
		struct br_device_pixelmap *self,
		br_rectangle *r,
		class br_device_pixelmap *s,
		br_rectangle *q);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rectangleFill)(
		struct br_device_pixelmap *self,
		br_rectangle *rect,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, pixelSet)(
		struct br_device_pixelmap *self,
		br_point *point,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, line)(
		struct br_device_pixelmap *self,
		br_point *start,
		br_point *end,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, copyBits)(
		struct br_device_pixelmap *self,
		br_point *point,
		br_uint_8 *src,
		br_uint_16 s_stride,
		br_rectangle *bit_rect,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, text)(
		struct br_device_pixelmap *self,
		br_point *point,
		br_font *font,
		char *text,
		br_uint_32 colour);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, textBounds)(
		struct br_device_pixelmap *self,
		br_rectangle *rect,
		struct br_font *font,
		char *text);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rowSize)(
		struct br_device_pixelmap *self,
		br_size_t *size);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rowSet)(
		struct br_device_pixelmap *self,
		void *buffer,
		br_size_t buffer_size,
		br_uint_32 row);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, rowQuery)(
		struct br_device_pixelmap *self,
		void *buffer,
		br_size_t buffer_size,
		br_uint_32 row);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, pixelQuery)(
		struct br_device_pixelmap *self,
		br_uint_32 *pcolour,
		br_point *point);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, pixelAddressQuery)(
		struct br_device_pixelmap *self,
		void **pptr,
		br_uint_32 *pqual,
		br_point *point);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, pixelAddressSet)(
		struct br_device_pixelmap *self,
		void *ptr,
		br_uint_32 *qual);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, originSet)(
		struct br_device_pixelmap *self,
		br_point *p);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, flush)(
		struct br_device_pixelmap *self);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, synchronise)(
		struct br_device_pixelmap *self,
		br_token sync_type,
		br_boolean block);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, directLock)(
		struct br_device_pixelmap *self,
		br_boolean block);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, directUnlock)(
		struct br_device_pixelmap *self);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, getControls)(
		struct br_device_pixelmap *self,
		br_display_controls *controls);
	br_error BR_CMETHOD_PTR_DECL(br_device_pixelmap, setControls)(
		struct br_device_pixelmap *self,
		br_display_controls *controls);
};
struct  br_device_clut_dispatch;

#ifndef BR_DEVICE_CLUT_PRIVATE
typedef struct br_device_clut {
	struct  br_device_clut_dispatch *dispatch;
	
} br_device_clut;
#endif

struct  br_device_clut_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_device_clut, entrySet)(
		struct br_device_clut *self,
		br_int_32 index,
		br_colour entry);
	br_error BR_CMETHOD_PTR_DECL(br_device_clut, entryQuery)(
		struct br_device_clut *self,
		br_colour *entry,
		br_int_32 index);
	br_error BR_CMETHOD_PTR_DECL(br_device_clut, entrySetMany)(
		struct br_device_clut *self,
		br_int_32 index,
		br_int_32 count,
		br_colour *entries);
	br_error BR_CMETHOD_PTR_DECL(br_device_clut, entryQueryMany)(
		struct br_device_clut *self,
		br_colour *entries,
		br_int_32 index,
		br_int_32 count);
};
struct  br_renderer_facility_dispatch;

#ifndef BR_RENDERER_FACILITY_PRIVATE
typedef struct br_renderer_facility {
	struct  br_renderer_facility_dispatch *dispatch;
	
} br_renderer_facility;
#endif

struct  br_renderer_facility_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer_facility, validDestination)(
		struct br_renderer_facility *self,
		br_boolean *bp,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_renderer_facility, rendererNew)(
		struct br_renderer_facility *self,
		class br_renderer **prenderer,
		br_token_value *tv);
};
struct  br_renderer_dispatch;

#ifndef BR_RENDERER_PRIVATE
typedef struct br_renderer {
	struct  br_renderer_dispatch *dispatch;
	
} br_renderer;
#endif

struct  br_renderer_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, validDestination)(
		struct br_renderer *self,
		br_boolean *bp,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateStoredNew)(
		struct br_renderer *self,
		class br_renderer_state_stored **pstate,
		br_uint_32 mask,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateStoredAvail)(
		struct br_renderer *self,
		br_int_32 *psize,
		br_uint_32 mask,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, bufferStoredNew)(
		struct br_renderer *self,
		class br_buffer_stored **rtp,
		br_token use,
		class br_device_pixelmap *pm,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, bufferStoredAvail)(
		struct br_renderer *self,
		br_int_32 *space,
		br_token use,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partSet)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_token t,
		br_uint_32 pvalue);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partSetMany)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_token_value * tv,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQuery)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQueryBuffer)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQueryMany)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQueryManySize)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQueryAll)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQueryAllSize)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partIndexQuery)(
		struct br_renderer *self,
		br_token part,
		br_int_32 *pnindex);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, modelMulF)(
		struct br_renderer *self,
		br_matrix34_f *m);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, modelMulX)(
		struct br_renderer *self,
		br_matrix34_x *m);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, modelPopPushMulF)(
		struct br_renderer *self,
		br_matrix34_f *m);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, modelPopPushMulX)(
		struct br_renderer *self,
		br_matrix34_x *m);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, modelInvert)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, statePush)(
		struct br_renderer *self,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, statePop)(
		struct br_renderer *self,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateSave)(
		struct br_renderer *self,
		class br_renderer_state_stored *h,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateRestore)(
		struct br_renderer *self,
		class br_renderer_state_stored *h,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateMask)(
		struct br_renderer *self,
		br_uint_32 *mask,
		br_token *parts,
		int n_parts);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateDefault)(
		struct br_renderer *self,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, boundsTestF)(
		struct br_renderer *self,
		br_token *r,
		br_bounds3_f *bounds);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, boundsTestX)(
		struct br_renderer *self,
		br_token *r,
		br_bounds3_x *bounds);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, coverageTestF)(
		struct br_renderer *self,
		br_float *r,
		br_bounds3_f *bounds);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, coverageTestX)(
		struct br_renderer *self,
		br_fixed_ls *r,
		br_bounds3_x *bounds);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, viewDistanceF)(
		struct br_renderer *self,
		br_float *r);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, viewDistanceX)(
		struct br_renderer *self,
		br_fixed_ls *r);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, commandModeSet)(
		struct br_renderer *self,
		br_token mode);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, commandModeQuery)(
		struct br_renderer *self,
		br_token *mode);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, commandModeDefault)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, commandModePush)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, commandModePop)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, flush)(
		struct br_renderer *self,
		br_boolean wait);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, synchronise)(
		struct br_renderer *self,
		br_token sync_type,
		br_boolean block);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, partQueryCapability)(
		struct br_renderer *self,
		br_token part,
		br_int_32 index,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, stateQueryPerformance)(
		struct br_renderer *self,
		br_fixed_lu *speed);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, frameBegin)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, frameEnd)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, focusLossBegin)(
		struct br_renderer *self);
	br_error BR_CMETHOD_PTR_DECL(br_renderer, focusLossEnd)(
		struct br_renderer *self);
};
struct  br_renderer_state_stored_dispatch;

#ifndef BR_RENDERER_STATE_STORED_PRIVATE
typedef struct br_renderer_state_stored {
	struct  br_renderer_state_stored_dispatch *dispatch;
	
} br_renderer_state_stored;
#endif

struct  br_renderer_state_stored_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
};
struct  br_geometry_dispatch;

#ifndef BR_GEOMETRY_PRIVATE
typedef struct br_geometry {
	struct  br_geometry_dispatch *dispatch;
	
} br_geometry;
#endif

struct  br_geometry_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
};
struct  br_geometry_stored_dispatch;

#ifndef BR_GEOMETRY_STORED_PRIVATE
typedef struct br_geometry_stored {
	struct  br_geometry_stored_dispatch *dispatch;
	
} br_geometry_stored;
#endif

struct  br_geometry_stored_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_stored, render)(
		struct br_geometry_stored *self,
		class br_renderer *r);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_stored, renderOnScreen)(
		struct br_geometry_stored *self,
		class br_renderer *r);
};
struct  br_geometry_primitives_dispatch;

#ifndef BR_GEOMETRY_PRIMITIVES_PRIVATE
typedef struct br_geometry_primitives {
	struct  br_geometry_primitives_dispatch *dispatch;
	
} br_geometry_primitives;
#endif

struct  br_geometry_primitives_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, renderF)(
		struct br_geometry_primitives *self,
		class br_renderer *r,
		struct fmt_vertex *vertices,
		int nvertices,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, renderX)(
		struct br_geometry_primitives *self,
		class br_renderer *r,
		struct fmt_vertex *vertices,
		int nvertices,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, renderOnScreenF)(
		struct br_geometry_primitives *self,
		class br_renderer *r,
		struct fmt_vertex *vertices,
		int nvertices,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, renderOnScreenX)(
		struct br_geometry_primitives *self,
		class br_renderer *r,
		struct fmt_vertex *vertices,
		int nvertices,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, storedNewF)(
		struct br_geometry_primitives *self,
		class br_renderer *r,
		class br_geometry_stored **psg,
		struct fmt_vertex *vertices,
		int nvertices,
		br_token type,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, storedNewX)(
		struct br_geometry_primitives *self,
		class br_renderer *r,
		class br_geometry_stored **psg,
		struct fmt_vertex *vertices,
		int nvertices,
		br_token type,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_primitives, storedAvail)(
		struct br_geometry_primitives *self,
		br_int_32 *psize,
		br_token_value *tv);
};
struct  br_geometry_v1_model_dispatch;

#ifndef BR_GEOMETRY_V1_MODEL_PRIVATE
typedef struct br_geometry_v1_model {
	struct  br_geometry_v1_model_dispatch *dispatch;
	
} br_geometry_v1_model;
#endif

struct  br_geometry_v1_model_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, renderF)(
		struct br_geometry_v1_model *self,
		class br_renderer *r,
		struct v1model_f *model,
		class br_renderer_state_stored *default_state,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, renderX)(
		struct br_geometry_v1_model *self,
		class br_renderer *r,
		struct v1model_x *model,
		class br_renderer_state_stored *default_state,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, renderOnScreenF)(
		struct br_geometry_v1_model *self,
		class br_renderer *r,
		struct v1model_f *model,
		class br_renderer_state_stored *default_state,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, renderOnScreenX)(
		struct br_geometry_v1_model *self,
		class br_renderer *r,
		struct v1model_x *model,
		class br_renderer_state_stored *default_state,
		br_token type);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, storedNewF)(
		struct br_geometry_v1_model *self,
		class br_renderer *r,
		class br_geometry_stored **psg,
		struct v1model_f *model,
		br_token type,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, storedNewX)(
		struct br_geometry_v1_model *self,
		class br_renderer *r,
		class br_geometry_stored **psg,
		struct v1model_x *model,
		br_token type,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_model, storedAvail)(
		struct br_geometry_v1_model *self,
		br_int_32 *psize,
		br_token_value *tv);
};
struct  br_geometry_v1_buckets_dispatch;

#ifndef BR_GEOMETRY_V1_BUCKETS_PRIVATE
typedef struct br_geometry_v1_buckets {
	struct  br_geometry_v1_buckets_dispatch *dispatch;
	
} br_geometry_v1_buckets;
#endif

struct  br_geometry_v1_buckets_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_buckets, render)(
		struct br_geometry_v1_buckets *self,
		class br_renderer *r,
		class br_primitive **buckets,
		br_int_32 nbuckets);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_v1_buckets, renderOnScreen)(
		struct br_geometry_v1_buckets *self,
		class br_renderer *r,
		class br_primitive **buckets,
		br_int_32 nbuckets);
};
struct  br_geometry_lighting_dispatch;

#ifndef BR_GEOMETRY_LIGHTING_PRIVATE
typedef struct br_geometry_lighting {
	struct  br_geometry_lighting_dispatch *dispatch;
	
} br_geometry_lighting;
#endif

struct  br_geometry_lighting_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_lighting, renderF)(
		struct br_geometry_lighting *self,
		class br_renderer *r,
		br_vector3_f *points,
		br_vector3_f *normals,
		br_colour *colour_in,
		br_colour *colour_out,
		br_uint_16 *redirect,
		int pstride,
		int nstride,
		int cinstride,
		int coutstride,
		int nvertices);
	br_error BR_CMETHOD_PTR_DECL(br_geometry_lighting, renderX)(
		struct br_geometry_lighting *self,
		class br_renderer *r,
		br_vector3_x *points,
		br_vector3_x *normals,
		br_colour *colour_in,
		br_colour *colour_out,
		br_uint_16 *redirect,
		int pstride,
		int nstride,
		int cinstride,
		int coutstride,
		int nvertices);
};
struct  br_buffer_stored_dispatch;

#ifndef BR_BUFFER_STORED_PRIVATE
typedef struct br_buffer_stored {
	struct  br_buffer_stored_dispatch *dispatch;
	
} br_buffer_stored;
#endif

struct  br_buffer_stored_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_buffer_stored, update)(
		struct br_buffer_stored *self,
		class br_device_pixelmap *pm,
		br_token_value *tv);
};
struct  br_primitive_library_dispatch;

#ifndef BR_PRIMITIVE_LIBRARY_PRIVATE
typedef struct br_primitive_library {
	struct  br_primitive_library_dispatch *dispatch;
	
} br_primitive_library;
#endif

struct  br_primitive_library_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	void * BR_CMETHOD_PTR_DECL(br_object_container, listQuery)(
		struct br_object_container *self);
	void * BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchBegin)(
		struct br_object_container *self,
		br_token t,
		br_token_value *tv);
	br_boolean BR_CMETHOD_PTR_DECL(br_object_container, tokensMatch)(
		struct br_object_container *self,
		class br_object *h,
		void *arg);
	void BR_CMETHOD_PTR_DECL(br_object_container, tokensMatchEnd)(
		struct br_object_container *self,
		void *arg);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, addFront)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, removeFront)(
		struct br_object_container *self,
		class br_object **h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, remove)(
		struct br_object_container *self,
		class br_object *h);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, find)(
		struct br_object_container *self,
		class br_object **ph,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, findMany)(
		struct br_object_container *self,
		class br_object **objects,
		br_int_32 max_objects,
		br_int_32 *pnum_objects,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object_container, count)(
		struct br_object_container *self,
		br_uint_32 *pcount,
		br_token type,
		char *pattern,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_library, stateNew)(
		struct br_primitive_library *self,
		class br_primitive_state **rps);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_library, bufferStoredNew)(
		struct br_primitive_library *self,
		class br_buffer_stored **rtp,
		br_token use,
		class br_device_pixelmap *pm,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_library, bufferStoredAvail)(
		struct br_primitive_library *self,
		br_int_32 *space,
		br_token use,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_library, flush)(
		struct br_primitive_library *self,
		br_boolean wait);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_library, synchronise)(
		struct br_primitive_library *self,
		br_token sync_type,
		br_boolean block);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_library, mask)(
		struct br_primitive_library *self,
		br_uint_32 *mask,
		br_token *parts,
		int n_parts);
};
struct  br_primitive_state_dispatch;

#ifndef BR_PRIMITIVE_STATE_PRIVATE
typedef struct br_primitive_state {
	struct  br_primitive_state_dispatch *dispatch;
	
} br_primitive_state;
#endif

struct  br_primitive_state_dispatch {

	void BR_CMETHOD_PTR_DECL(br_object, _reserved0)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved1)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved2)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, _reserved3)(
		struct br_object *self);
	void BR_CMETHOD_PTR_DECL(br_object, free)(
		struct br_object *self);
	char * BR_CMETHOD_PTR_DECL(br_object, identifier)(
		struct br_object *self);
	br_token BR_CMETHOD_PTR_DECL(br_object, type)(
		struct br_object *self);
	br_boolean BR_CMETHOD_PTR_DECL(br_object, isType)(
		struct br_object *self,
		br_token t);
	class br_device * BR_CMETHOD_PTR_DECL(br_object, device)(
		struct br_object *self);
	br_int_32 BR_CMETHOD_PTR_DECL(br_object, space)(
		struct br_object *self);
	struct br_tv_template * BR_CMETHOD_PTR_DECL(br_object, templateQuery)(
		struct br_object *self);
	br_error BR_CMETHOD_PTR_DECL(br_object, query)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryBuffer)(
		struct br_object *self,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryMany)(
		struct br_object *self,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryManySize)(
		struct br_object *self,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAll)(
		struct br_object *self,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_object, queryAllSize)(
		struct br_object *self,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partSet)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_token t,
		br_uint_32 value);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partSetMany)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_token_value * tv,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQuery)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_uint_32 *pvalue,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQueryBuffer)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_uint_32 *pvalue,
		br_uint_32 *buffer,
		br_size_t buffer_size,
		br_token t);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQueryMany)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_token_value *tv,
		void *extra,
		br_size_t extra_size,
		br_int_32 *pcount);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQueryManySize)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_size_t *pextra_size,
		br_token_value *tv);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQueryAll)(
		struct br_primitive_state *self,
		br_token state,
		br_int_32 index,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQueryAllSize)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_size_t *psize);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partIndexQuery)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 *pnindex);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, stateDefault)(
		struct br_primitive_state *self,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, stateCopy)(
		struct br_primitive_state *self,
		class br_primitive_state *source,
		br_uint_32 mask);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, renderBegin)(
		struct br_primitive_state *self,
		class brp_block **rpb,
		br_boolean *block_changed,
		br_boolean *ranges_changed,
		br_boolean no_render,
		br_int_32 prim_type);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, renderEnd)(
		struct br_primitive_state *self,
		class brp_block *rpb);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, rangesQueryF)(
		struct br_primitive_state *self,
		br_float *offset,
		br_float *scale,
		br_int_32 max_comp);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, rangesQueryX)(
		struct br_primitive_state *self,
		br_fixed_ls *offset,
		br_fixed_ls *scale,
		br_int_32 max_comp);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, partQueryCapability)(
		struct br_primitive_state *self,
		br_token part,
		br_int_32 index,
		br_token_value *buffer,
		br_size_t buffer_size);
	br_error BR_CMETHOD_PTR_DECL(br_primitive_state, stateQueryPerformance)(
		struct br_primitive_state *self,
		br_fixed_lu *speed);
};
#define BufferStoredUpdate(self, a1, a2) BR_CMETHOD_CALL(br_buffer_stored,update,self)((br_buffer_stored *)self, a1, a2)
#define DeviceClutEntryQuery(self, a1, a2) BR_CMETHOD_CALL(br_device_clut,entryQuery,self)((br_device_clut *)self, a1, a2)
#define DeviceClutEntryQueryMany(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_clut,entryQueryMany,self)((br_device_clut *)self, a1, a2, a3)
#define DeviceClutEntrySet(self, a1, a2) BR_CMETHOD_CALL(br_device_clut,entrySet,self)((br_device_clut *)self, a1, a2)
#define DeviceClutEntrySetMany(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_clut,entrySetMany,self)((br_device_clut *)self, a1, a2, a3)
#define DevicePixelmapAllocateSub(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,allocateSub,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapCopy(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,copy,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapCopyBits(self, a1, a2, a3, a4, a5) BR_CMETHOD_CALL(br_device_pixelmap,copyBits,self)((br_device_pixelmap *)self, a1, a2, a3, a4, a5)
#define DevicePixelmapCopyDirty(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,copyDirty,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapCopyFrom(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,copyFrom,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapCopyFromDirty(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,copyFromDirty,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapCopyTo(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,copyTo,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapCopyToDirty(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,copyToDirty,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapDirectLock(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,directLock,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapDirectUnlock(self) BR_CMETHOD_CALL(br_device_pixelmap,directUnlock,self)((br_device_pixelmap *)self)
#define DevicePixelmapDoubleBuffer(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,doubleBuffer,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapDoubleBufferDirty(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,doubleBufferDirty,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapFill(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,fill,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapFillDirty(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,fillDirty,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapFlush(self) BR_CMETHOD_CALL(br_device_pixelmap,flush,self)((br_device_pixelmap *)self)
#define DevicePixelmapGetControls(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,getControls,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapLine(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,line,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapMatch(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,match,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapOriginSet(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,originSet,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapPixelAddressQuery(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,pixelAddressQuery,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapPixelAddressSet(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,pixelAddressSet,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapPixelQuery(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,pixelQuery,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapPixelSet(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,pixelSet,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapRectangle(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,rectangle,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapRectangle2(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangle2,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRectangleCopy(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangleCopy,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRectangleCopyFrom(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangleCopyFrom,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRectangleCopyTo(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangleCopyTo,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRectangleFill(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,rectangleFill,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapRectangleStretchCopy(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangleStretchCopy,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRectangleStretchCopyFrom(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangleStretchCopyFrom,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRectangleStretchCopyTo(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rectangleStretchCopyTo,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapResize(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,resize,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapRowQuery(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rowQuery,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRowSet(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,rowSet,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapRowSize(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,rowSize,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapSetControls(self, a1) BR_CMETHOD_CALL(br_device_pixelmap,setControls,self)((br_device_pixelmap *)self, a1)
#define DevicePixelmapSynchronise(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,synchronise,self)((br_device_pixelmap *)self, a1, a2)
#define DevicePixelmapText(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_device_pixelmap,text,self)((br_device_pixelmap *)self, a1, a2, a3, a4)
#define DevicePixelmapTextBounds(self, a1, a2, a3) BR_CMETHOD_CALL(br_device_pixelmap,textBounds,self)((br_device_pixelmap *)self, a1, a2, a3)
#define DevicePixelmapValidSource(self, a1, a2) BR_CMETHOD_CALL(br_device_pixelmap,validSource,self)((br_device_pixelmap *)self, a1, a2)
#define GeometryLightingRenderF(self, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) BR_CMETHOD_CALL(br_geometry_lighting,renderF,self)((br_geometry_lighting *)self, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)
#define GeometryLightingRenderX(self, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) BR_CMETHOD_CALL(br_geometry_lighting,renderX,self)((br_geometry_lighting *)self, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)
#define GeometryPrimitivesRenderF(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_primitives,renderF,self)((br_geometry_primitives *)self, a1, a2, a3, a4)
#define GeometryPrimitivesRenderOnScreenF(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_primitives,renderOnScreenF,self)((br_geometry_primitives *)self, a1, a2, a3, a4)
#define GeometryPrimitivesRenderOnScreenX(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_primitives,renderOnScreenX,self)((br_geometry_primitives *)self, a1, a2, a3, a4)
#define GeometryPrimitivesRenderX(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_primitives,renderX,self)((br_geometry_primitives *)self, a1, a2, a3, a4)
#define GeometryPrimitivesStoredAvail(self, a1, a2) BR_CMETHOD_CALL(br_geometry_primitives,storedAvail,self)((br_geometry_primitives *)self, a1, a2)
#define GeometryPrimitivesStoredNewF(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_geometry_primitives,storedNewF,self)((br_geometry_primitives *)self, a1, a2, a3, a4, a5, a6)
#define GeometryPrimitivesStoredNewX(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_geometry_primitives,storedNewX,self)((br_geometry_primitives *)self, a1, a2, a3, a4, a5, a6)
#define GeometryStoredRender(self, a1) BR_CMETHOD_CALL(br_geometry_stored,render,self)((br_geometry_stored *)self, a1)
#define GeometryStoredRenderOnScreen(self, a1) BR_CMETHOD_CALL(br_geometry_stored,renderOnScreen,self)((br_geometry_stored *)self, a1)
#define GeometryV1BucketsRender(self, a1, a2, a3) BR_CMETHOD_CALL(br_geometry_v1_buckets,render,self)((br_geometry_v1_buckets *)self, a1, a2, a3)
#define GeometryV1BucketsRenderOnScreen(self, a1, a2, a3) BR_CMETHOD_CALL(br_geometry_v1_buckets,renderOnScreen,self)((br_geometry_v1_buckets *)self, a1, a2, a3)
#define GeometryV1ModelRenderF(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_v1_model,renderF,self)((br_geometry_v1_model *)self, a1, a2, a3, a4)
#define GeometryV1ModelRenderOnScreenF(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_v1_model,renderOnScreenF,self)((br_geometry_v1_model *)self, a1, a2, a3, a4)
#define GeometryV1ModelRenderOnScreenX(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_v1_model,renderOnScreenX,self)((br_geometry_v1_model *)self, a1, a2, a3, a4)
#define GeometryV1ModelRenderX(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_geometry_v1_model,renderX,self)((br_geometry_v1_model *)self, a1, a2, a3, a4)
#define GeometryV1ModelStoredAvail(self, a1, a2) BR_CMETHOD_CALL(br_geometry_v1_model,storedAvail,self)((br_geometry_v1_model *)self, a1, a2)
#define GeometryV1ModelStoredNewF(self, a1, a2, a3, a4, a5) BR_CMETHOD_CALL(br_geometry_v1_model,storedNewF,self)((br_geometry_v1_model *)self, a1, a2, a3, a4, a5)
#define GeometryV1ModelStoredNewX(self, a1, a2, a3, a4, a5) BR_CMETHOD_CALL(br_geometry_v1_model,storedNewX,self)((br_geometry_v1_model *)self, a1, a2, a3, a4, a5)
#define Object_reserved0(self) BR_CMETHOD_CALL(br_object,_reserved0,self)((br_object *)self)
#define Object_reserved1(self) BR_CMETHOD_CALL(br_object,_reserved1,self)((br_object *)self)
#define Object_reserved2(self) BR_CMETHOD_CALL(br_object,_reserved2,self)((br_object *)self)
#define Object_reserved3(self) BR_CMETHOD_CALL(br_object,_reserved3,self)((br_object *)self)
#define ObjectDevice(self) BR_CMETHOD_CALL(br_object,device,self)((br_object *)self)
#define ObjectFree(self) BR_CMETHOD_CALL(br_object,free,self)((br_object *)self)
#define ObjectIdentifier(self) BR_CMETHOD_CALL(br_object,identifier,self)((br_object *)self)
#define ObjectIsType(self, a1) BR_CMETHOD_CALL(br_object,isType,self)((br_object *)self, a1)
#define ObjectQuery(self, a1, a2) BR_CMETHOD_CALL(br_object,query,self)((br_object *)self, a1, a2)
#define ObjectQueryAll(self, a1, a2) BR_CMETHOD_CALL(br_object,queryAll,self)((br_object *)self, a1, a2)
#define ObjectQueryAllSize(self, a1) BR_CMETHOD_CALL(br_object,queryAllSize,self)((br_object *)self, a1)
#define ObjectQueryBuffer(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_object,queryBuffer,self)((br_object *)self, a1, a2, a3, a4)
#define ObjectQueryMany(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_object,queryMany,self)((br_object *)self, a1, a2, a3, a4)
#define ObjectQueryManySize(self, a1, a2) BR_CMETHOD_CALL(br_object,queryManySize,self)((br_object *)self, a1, a2)
#define ObjectSpace(self) BR_CMETHOD_CALL(br_object,space,self)((br_object *)self)
#define ObjectTemplateQuery(self) BR_CMETHOD_CALL(br_object,templateQuery,self)((br_object *)self)
#define ObjectType(self) BR_CMETHOD_CALL(br_object,type,self)((br_object *)self)
#define ObjectContainerAddFront(self, a1) BR_CMETHOD_CALL(br_object_container,addFront,self)((br_object_container *)self, a1)
#define ObjectContainerCount(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_object_container,count,self)((br_object_container *)self, a1, a2, a3, a4)
#define ObjectContainerFind(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_object_container,find,self)((br_object_container *)self, a1, a2, a3, a4)
#define ObjectContainerFindMany(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_object_container,findMany,self)((br_object_container *)self, a1, a2, a3, a4, a5, a6)
#define ObjectContainerListQuery(self) BR_CMETHOD_CALL(br_object_container,listQuery,self)((br_object_container *)self)
#define ObjectContainerRemove(self, a1) BR_CMETHOD_CALL(br_object_container,remove,self)((br_object_container *)self, a1)
#define ObjectContainerRemoveFront(self, a1) BR_CMETHOD_CALL(br_object_container,removeFront,self)((br_object_container *)self, a1)
#define ObjectContainerTokensMatch(self, a1, a2) BR_CMETHOD_CALL(br_object_container,tokensMatch,self)((br_object_container *)self, a1, a2)
#define ObjectContainerTokensMatchBegin(self, a1, a2) BR_CMETHOD_CALL(br_object_container,tokensMatchBegin,self)((br_object_container *)self, a1, a2)
#define ObjectContainerTokensMatchEnd(self, a1) BR_CMETHOD_CALL(br_object_container,tokensMatchEnd,self)((br_object_container *)self, a1)
#define OutputFacilityClutNew(self, a1, a2) BR_CMETHOD_CALL(br_output_facility,clutNew,self)((br_output_facility *)self, a1, a2)
#define OutputFacilityPixelmapNew(self, a1, a2) BR_CMETHOD_CALL(br_output_facility,pixelmapNew,self)((br_output_facility *)self, a1, a2)
#define OutputFacilityQueryCapability(self, a1, a2, a3) BR_CMETHOD_CALL(br_output_facility,queryCapability,self)((br_output_facility *)self, a1, a2, a3)
#define OutputFacilityValidSource(self, a1, a2) BR_CMETHOD_CALL(br_output_facility,validSource,self)((br_output_facility *)self, a1, a2)
#define PrimitiveLibraryBufferStoredAvail(self, a1, a2, a3) BR_CMETHOD_CALL(br_primitive_library,bufferStoredAvail,self)((br_primitive_library *)self, a1, a2, a3)
#define PrimitiveLibraryBufferStoredNew(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_library,bufferStoredNew,self)((br_primitive_library *)self, a1, a2, a3, a4)
#define PrimitiveLibraryFlush(self, a1) BR_CMETHOD_CALL(br_primitive_library,flush,self)((br_primitive_library *)self, a1)
#define PrimitiveLibraryMask(self, a1, a2, a3) BR_CMETHOD_CALL(br_primitive_library,mask,self)((br_primitive_library *)self, a1, a2, a3)
#define PrimitiveLibraryStateNew(self, a1) BR_CMETHOD_CALL(br_primitive_library,stateNew,self)((br_primitive_library *)self, a1)
#define PrimitiveLibrarySynchronise(self, a1, a2) BR_CMETHOD_CALL(br_primitive_library,synchronise,self)((br_primitive_library *)self, a1, a2)
#define PrimitiveStatePartIndexQuery(self, a1, a2) BR_CMETHOD_CALL(br_primitive_state,partIndexQuery,self)((br_primitive_state *)self, a1, a2)
#define PrimitiveStatePartQuery(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_state,partQuery,self)((br_primitive_state *)self, a1, a2, a3, a4)
#define PrimitiveStatePartQueryAll(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_state,partQueryAll,self)((br_primitive_state *)self, a1, a2, a3, a4)
#define PrimitiveStatePartQueryAllSize(self, a1, a2, a3) BR_CMETHOD_CALL(br_primitive_state,partQueryAllSize,self)((br_primitive_state *)self, a1, a2, a3)
#define PrimitiveStatePartQueryBuffer(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_primitive_state,partQueryBuffer,self)((br_primitive_state *)self, a1, a2, a3, a4, a5, a6)
#define PrimitiveStatePartQueryCapability(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_state,partQueryCapability,self)((br_primitive_state *)self, a1, a2, a3, a4)
#define PrimitiveStatePartQueryMany(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_primitive_state,partQueryMany,self)((br_primitive_state *)self, a1, a2, a3, a4, a5, a6)
#define PrimitiveStatePartQueryManySize(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_state,partQueryManySize,self)((br_primitive_state *)self, a1, a2, a3, a4)
#define PrimitiveStatePartSet(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_state,partSet,self)((br_primitive_state *)self, a1, a2, a3, a4)
#define PrimitiveStatePartSetMany(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_primitive_state,partSetMany,self)((br_primitive_state *)self, a1, a2, a3, a4)
#define PrimitiveStateRangesQueryF(self, a1, a2, a3) BR_CMETHOD_CALL(br_primitive_state,rangesQueryF,self)((br_primitive_state *)self, a1, a2, a3)
#define PrimitiveStateRangesQueryX(self, a1, a2, a3) BR_CMETHOD_CALL(br_primitive_state,rangesQueryX,self)((br_primitive_state *)self, a1, a2, a3)
#define PrimitiveStateRenderBegin(self, a1, a2, a3, a4, a5) BR_CMETHOD_CALL(br_primitive_state,renderBegin,self)((br_primitive_state *)self, a1, a2, a3, a4, a5)
#define PrimitiveStateRenderEnd(self, a1) BR_CMETHOD_CALL(br_primitive_state,renderEnd,self)((br_primitive_state *)self, a1)
#define PrimitiveStateStateCopy(self, a1, a2) BR_CMETHOD_CALL(br_primitive_state,stateCopy,self)((br_primitive_state *)self, a1, a2)
#define PrimitiveStateStateDefault(self, a1) BR_CMETHOD_CALL(br_primitive_state,stateDefault,self)((br_primitive_state *)self, a1)
#define PrimitiveStateStateQueryPerformance(self, a1) BR_CMETHOD_CALL(br_primitive_state,stateQueryPerformance,self)((br_primitive_state *)self, a1)
#define RendererBoundsTestF(self, a1, a2) BR_CMETHOD_CALL(br_renderer,boundsTestF,self)((br_renderer *)self, a1, a2)
#define RendererBoundsTestX(self, a1, a2) BR_CMETHOD_CALL(br_renderer,boundsTestX,self)((br_renderer *)self, a1, a2)
#define RendererBufferStoredAvail(self, a1, a2, a3) BR_CMETHOD_CALL(br_renderer,bufferStoredAvail,self)((br_renderer *)self, a1, a2, a3)
#define RendererBufferStoredNew(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,bufferStoredNew,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererCommandModeDefault(self) BR_CMETHOD_CALL(br_renderer,commandModeDefault,self)((br_renderer *)self)
#define RendererCommandModePop(self) BR_CMETHOD_CALL(br_renderer,commandModePop,self)((br_renderer *)self)
#define RendererCommandModePush(self) BR_CMETHOD_CALL(br_renderer,commandModePush,self)((br_renderer *)self)
#define RendererCommandModeQuery(self, a1) BR_CMETHOD_CALL(br_renderer,commandModeQuery,self)((br_renderer *)self, a1)
#define RendererCommandModeSet(self, a1) BR_CMETHOD_CALL(br_renderer,commandModeSet,self)((br_renderer *)self, a1)
#define RendererCoverageTestF(self, a1, a2) BR_CMETHOD_CALL(br_renderer,coverageTestF,self)((br_renderer *)self, a1, a2)
#define RendererCoverageTestX(self, a1, a2) BR_CMETHOD_CALL(br_renderer,coverageTestX,self)((br_renderer *)self, a1, a2)
#define RendererFlush(self, a1) BR_CMETHOD_CALL(br_renderer,flush,self)((br_renderer *)self, a1)
#define RendererFocusLossBegin(self) BR_CMETHOD_CALL(br_renderer,focusLossBegin,self)((br_renderer *)self)
#define RendererFocusLossEnd(self) BR_CMETHOD_CALL(br_renderer,focusLossEnd,self)((br_renderer *)self)
#define RendererFrameBegin(self) BR_CMETHOD_CALL(br_renderer,frameBegin,self)((br_renderer *)self)
#define RendererFrameEnd(self) BR_CMETHOD_CALL(br_renderer,frameEnd,self)((br_renderer *)self)
#define RendererModelInvert(self) BR_CMETHOD_CALL(br_renderer,modelInvert,self)((br_renderer *)self)
#define RendererModelMulF(self, a1) BR_CMETHOD_CALL(br_renderer,modelMulF,self)((br_renderer *)self, a1)
#define RendererModelMulX(self, a1) BR_CMETHOD_CALL(br_renderer,modelMulX,self)((br_renderer *)self, a1)
#define RendererModelPopPushMulF(self, a1) BR_CMETHOD_CALL(br_renderer,modelPopPushMulF,self)((br_renderer *)self, a1)
#define RendererModelPopPushMulX(self, a1) BR_CMETHOD_CALL(br_renderer,modelPopPushMulX,self)((br_renderer *)self, a1)
#define RendererPartIndexQuery(self, a1, a2) BR_CMETHOD_CALL(br_renderer,partIndexQuery,self)((br_renderer *)self, a1, a2)
#define RendererPartQuery(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,partQuery,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererPartQueryAll(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,partQueryAll,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererPartQueryAllSize(self, a1, a2, a3) BR_CMETHOD_CALL(br_renderer,partQueryAllSize,self)((br_renderer *)self, a1, a2, a3)
#define RendererPartQueryBuffer(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_renderer,partQueryBuffer,self)((br_renderer *)self, a1, a2, a3, a4, a5, a6)
#define RendererPartQueryCapability(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,partQueryCapability,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererPartQueryMany(self, a1, a2, a3, a4, a5, a6) BR_CMETHOD_CALL(br_renderer,partQueryMany,self)((br_renderer *)self, a1, a2, a3, a4, a5, a6)
#define RendererPartQueryManySize(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,partQueryManySize,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererPartSet(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,partSet,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererPartSetMany(self, a1, a2, a3, a4) BR_CMETHOD_CALL(br_renderer,partSetMany,self)((br_renderer *)self, a1, a2, a3, a4)
#define RendererStateDefault(self, a1) BR_CMETHOD_CALL(br_renderer,stateDefault,self)((br_renderer *)self, a1)
#define RendererStateMask(self, a1, a2, a3) BR_CMETHOD_CALL(br_renderer,stateMask,self)((br_renderer *)self, a1, a2, a3)
#define RendererStatePop(self, a1) BR_CMETHOD_CALL(br_renderer,statePop,self)((br_renderer *)self, a1)
#define RendererStatePush(self, a1) BR_CMETHOD_CALL(br_renderer,statePush,self)((br_renderer *)self, a1)
#define RendererStateQueryPerformance(self, a1) BR_CMETHOD_CALL(br_renderer,stateQueryPerformance,self)((br_renderer *)self, a1)
#define RendererStateRestore(self, a1, a2) BR_CMETHOD_CALL(br_renderer,stateRestore,self)((br_renderer *)self, a1, a2)
#define RendererStateSave(self, a1, a2) BR_CMETHOD_CALL(br_renderer,stateSave,self)((br_renderer *)self, a1, a2)
#define RendererStateStoredAvail(self, a1, a2, a3) BR_CMETHOD_CALL(br_renderer,stateStoredAvail,self)((br_renderer *)self, a1, a2, a3)
#define RendererStateStoredNew(self, a1, a2, a3) BR_CMETHOD_CALL(br_renderer,stateStoredNew,self)((br_renderer *)self, a1, a2, a3)
#define RendererSynchronise(self, a1, a2) BR_CMETHOD_CALL(br_renderer,synchronise,self)((br_renderer *)self, a1, a2)
#define RendererValidDestination(self, a1, a2) BR_CMETHOD_CALL(br_renderer,validDestination,self)((br_renderer *)self, a1, a2)
#define RendererViewDistanceF(self, a1) BR_CMETHOD_CALL(br_renderer,viewDistanceF,self)((br_renderer *)self, a1)
#define RendererViewDistanceX(self, a1) BR_CMETHOD_CALL(br_renderer,viewDistanceX,self)((br_renderer *)self, a1)
#define RendererFacilityRendererNew(self, a1, a2) BR_CMETHOD_CALL(br_renderer_facility,rendererNew,self)((br_renderer_facility *)self, a1, a2)
#define RendererFacilityValidDestination(self, a1, a2) BR_CMETHOD_CALL(br_renderer_facility,validDestination,self)((br_renderer_facility *)self, a1, a2)
/*
 * Example templates for class dispatch tables
 */
#if 0
/*
 * Example dispatch table for br_object
 */
static struct br_object_dispatch objectDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
};

/*
 * Example dispatch table for br_object_container
 */
static struct br_object_container_dispatch objectContainerDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
};

/*
 * Example dispatch table for br_device
 */
static struct br_device_dispatch deviceDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
};

/*
 * Example dispatch table for br_facility
 */
static struct br_facility_dispatch facilityDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
};

/*
 * Example dispatch table for br_output_facility
 */
static struct br_output_facility_dispatch outputFacilityDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
	BR_CMETHOD_REF(br_output_facility,              validSource),
	BR_CMETHOD_REF(br_output_facility,              pixelmapNew),
	BR_CMETHOD_REF(br_output_facility,              clutNew),
	BR_CMETHOD_REF(br_output_facility,              queryCapability),
};

/*
 * Example dispatch table for br_device_pixelmap
 */
static struct br_device_pixelmap_dispatch devicePixelmapDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_device_pixelmap,              validSource),
	BR_CMETHOD_REF(br_device_pixelmap,              resize),
	BR_CMETHOD_REF(br_device_pixelmap,              match),
	BR_CMETHOD_REF(br_device_pixelmap,              allocateSub),
	BR_CMETHOD_REF(br_device_pixelmap,              copy),
	BR_CMETHOD_REF(br_device_pixelmap,              copyTo),
	BR_CMETHOD_REF(br_device_pixelmap,              copyFrom),
	BR_CMETHOD_REF(br_device_pixelmap,              fill),
	BR_CMETHOD_REF(br_device_pixelmap,              doubleBuffer),
	BR_CMETHOD_REF(br_device_pixelmap,              copyDirty),
	BR_CMETHOD_REF(br_device_pixelmap,              copyToDirty),
	BR_CMETHOD_REF(br_device_pixelmap,              copyFromDirty),
	BR_CMETHOD_REF(br_device_pixelmap,              fillDirty),
	BR_CMETHOD_REF(br_device_pixelmap,              doubleBufferDirty),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangle),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangle2),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleCopy),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleCopyTo),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleCopyFrom),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleStretchCopy),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleStretchCopyTo),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleStretchCopyFrom),
	BR_CMETHOD_REF(br_device_pixelmap,              rectangleFill),
	BR_CMETHOD_REF(br_device_pixelmap,              pixelSet),
	BR_CMETHOD_REF(br_device_pixelmap,              line),
	BR_CMETHOD_REF(br_device_pixelmap,              copyBits),
	BR_CMETHOD_REF(br_device_pixelmap,              text),
	BR_CMETHOD_REF(br_device_pixelmap,              textBounds),
	BR_CMETHOD_REF(br_device_pixelmap,              rowSize),
	BR_CMETHOD_REF(br_device_pixelmap,              rowSet),
	BR_CMETHOD_REF(br_device_pixelmap,              rowQuery),
	BR_CMETHOD_REF(br_device_pixelmap,              pixelQuery),
	BR_CMETHOD_REF(br_device_pixelmap,              pixelAddressQuery),
	BR_CMETHOD_REF(br_device_pixelmap,              pixelAddressSet),
	BR_CMETHOD_REF(br_device_pixelmap,              originSet),
	BR_CMETHOD_REF(br_device_pixelmap,              flush),
	BR_CMETHOD_REF(br_device_pixelmap,              synchronise),
	BR_CMETHOD_REF(br_device_pixelmap,              directLock),
	BR_CMETHOD_REF(br_device_pixelmap,              directUnlock),
	BR_CMETHOD_REF(br_device_pixelmap,              getControls),
	BR_CMETHOD_REF(br_device_pixelmap,              setControls),
};

/*
 * Example dispatch table for br_device_clut
 */
static struct br_device_clut_dispatch deviceClutDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_device_clut,                  entrySet),
	BR_CMETHOD_REF(br_device_clut,                  entryQuery),
	BR_CMETHOD_REF(br_device_clut,                  entrySetMany),
	BR_CMETHOD_REF(br_device_clut,                  entryQueryMany),
};

/*
 * Example dispatch table for br_renderer_facility
 */
static struct br_renderer_facility_dispatch rendererFacilityDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
	BR_CMETHOD_REF(br_renderer_facility,            validDestination),
	BR_CMETHOD_REF(br_renderer_facility,            rendererNew),
};

/*
 * Example dispatch table for br_renderer
 */
static struct br_renderer_dispatch rendererDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
	BR_CMETHOD_REF(br_renderer,                     validDestination),
	BR_CMETHOD_REF(br_renderer,                     stateStoredNew),
	BR_CMETHOD_REF(br_renderer,                     stateStoredAvail),
	BR_CMETHOD_REF(br_renderer,                     bufferStoredNew),
	BR_CMETHOD_REF(br_renderer,                     bufferStoredAvail),
	BR_CMETHOD_REF(br_renderer,                     partSet),
	BR_CMETHOD_REF(br_renderer,                     partSetMany),
	BR_CMETHOD_REF(br_renderer,                     partQuery),
	BR_CMETHOD_REF(br_renderer,                     partQueryBuffer),
	BR_CMETHOD_REF(br_renderer,                     partQueryMany),
	BR_CMETHOD_REF(br_renderer,                     partQueryManySize),
	BR_CMETHOD_REF(br_renderer,                     partQueryAll),
	BR_CMETHOD_REF(br_renderer,                     partQueryAllSize),
	BR_CMETHOD_REF(br_renderer,                     partIndexQuery),
	BR_CMETHOD_REF(br_renderer,                     modelMulF),
	BR_CMETHOD_REF(br_renderer,                     modelMulX),
	BR_CMETHOD_REF(br_renderer,                     modelPopPushMulF),
	BR_CMETHOD_REF(br_renderer,                     modelPopPushMulX),
	BR_CMETHOD_REF(br_renderer,                     modelInvert),
	BR_CMETHOD_REF(br_renderer,                     statePush),
	BR_CMETHOD_REF(br_renderer,                     statePop),
	BR_CMETHOD_REF(br_renderer,                     stateSave),
	BR_CMETHOD_REF(br_renderer,                     stateRestore),
	BR_CMETHOD_REF(br_renderer,                     stateMask),
	BR_CMETHOD_REF(br_renderer,                     stateDefault),
	BR_CMETHOD_REF(br_renderer,                     boundsTestF),
	BR_CMETHOD_REF(br_renderer,                     boundsTestX),
	BR_CMETHOD_REF(br_renderer,                     coverageTestF),
	BR_CMETHOD_REF(br_renderer,                     coverageTestX),
	BR_CMETHOD_REF(br_renderer,                     viewDistanceF),
	BR_CMETHOD_REF(br_renderer,                     viewDistanceX),
	BR_CMETHOD_REF(br_renderer,                     commandModeSet),
	BR_CMETHOD_REF(br_renderer,                     commandModeQuery),
	BR_CMETHOD_REF(br_renderer,                     commandModeDefault),
	BR_CMETHOD_REF(br_renderer,                     commandModePush),
	BR_CMETHOD_REF(br_renderer,                     commandModePop),
	BR_CMETHOD_REF(br_renderer,                     flush),
	BR_CMETHOD_REF(br_renderer,                     synchronise),
	BR_CMETHOD_REF(br_renderer,                     partQueryCapability),
	BR_CMETHOD_REF(br_renderer,                     stateQueryPerformance),
	BR_CMETHOD_REF(br_renderer,                     frameBegin),
	BR_CMETHOD_REF(br_renderer,                     frameEnd),
	BR_CMETHOD_REF(br_renderer,                     focusLossBegin),
	BR_CMETHOD_REF(br_renderer,                     focusLossEnd),
};

/*
 * Example dispatch table for br_renderer_state_stored
 */
static struct br_renderer_state_stored_dispatch rendererStateStoredDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
};

/*
 * Example dispatch table for br_geometry
 */
static struct br_geometry_dispatch geometryDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
};

/*
 * Example dispatch table for br_geometry_stored
 */
static struct br_geometry_stored_dispatch geometryStoredDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_geometry_stored,              render),
	BR_CMETHOD_REF(br_geometry_stored,              renderOnScreen),
};

/*
 * Example dispatch table for br_geometry_primitives
 */
static struct br_geometry_primitives_dispatch geometryPrimitivesDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_geometry_primitives,          renderF),
	BR_CMETHOD_REF(br_geometry_primitives,          renderX),
	BR_CMETHOD_REF(br_geometry_primitives,          renderOnScreenF),
	BR_CMETHOD_REF(br_geometry_primitives,          renderOnScreenX),
	BR_CMETHOD_REF(br_geometry_primitives,          storedNewF),
	BR_CMETHOD_REF(br_geometry_primitives,          storedNewX),
	BR_CMETHOD_REF(br_geometry_primitives,          storedAvail),
};

/*
 * Example dispatch table for br_geometry_v1_model
 */
static struct br_geometry_v1_model_dispatch geometryV1ModelDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_geometry_v1_model,            renderF),
	BR_CMETHOD_REF(br_geometry_v1_model,            renderX),
	BR_CMETHOD_REF(br_geometry_v1_model,            renderOnScreenF),
	BR_CMETHOD_REF(br_geometry_v1_model,            renderOnScreenX),
	BR_CMETHOD_REF(br_geometry_v1_model,            storedNewF),
	BR_CMETHOD_REF(br_geometry_v1_model,            storedNewX),
	BR_CMETHOD_REF(br_geometry_v1_model,            storedAvail),
};

/*
 * Example dispatch table for br_geometry_v1_buckets
 */
static struct br_geometry_v1_buckets_dispatch geometryV1BucketsDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_geometry_v1_buckets,          render),
	BR_CMETHOD_REF(br_geometry_v1_buckets,          renderOnScreen),
};

/*
 * Example dispatch table for br_geometry_lighting
 */
static struct br_geometry_lighting_dispatch geometryLightingDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_geometry_lighting,            renderF),
	BR_CMETHOD_REF(br_geometry_lighting,            renderX),
};

/*
 * Example dispatch table for br_buffer_stored
 */
static struct br_buffer_stored_dispatch bufferStoredDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_buffer_stored,                update),
};

/*
 * Example dispatch table for br_primitive_library
 */
static struct br_primitive_library_dispatch primitiveLibraryDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_object_container,             listQuery),
	BR_CMETHOD_REF(br_object_container,             tokensMatchBegin),
	BR_CMETHOD_REF(br_object_container,             tokensMatch),
	BR_CMETHOD_REF(br_object_container,             tokensMatchEnd),
	BR_CMETHOD_REF(br_object_container,             addFront),
	BR_CMETHOD_REF(br_object_container,             removeFront),
	BR_CMETHOD_REF(br_object_container,             remove),
	BR_CMETHOD_REF(br_object_container,             find),
	BR_CMETHOD_REF(br_object_container,             findMany),
	BR_CMETHOD_REF(br_object_container,             count),
	BR_CMETHOD_REF(br_primitive_library,            stateNew),
	BR_CMETHOD_REF(br_primitive_library,            bufferStoredNew),
	BR_CMETHOD_REF(br_primitive_library,            bufferStoredAvail),
	BR_CMETHOD_REF(br_primitive_library,            flush),
	BR_CMETHOD_REF(br_primitive_library,            synchronise),
	BR_CMETHOD_REF(br_primitive_library,            mask),
};

/*
 * Example dispatch table for br_primitive_state
 */
static struct br_primitive_state_dispatch primitiveStateDispatch = {
	BR_CMETHOD_REF(br_object,                       _reserved0),
	BR_CMETHOD_REF(br_object,                       _reserved1),
	BR_CMETHOD_REF(br_object,                       _reserved2),
	BR_CMETHOD_REF(br_object,                       _reserved3),
	BR_CMETHOD_REF(br_object,                       free),
	BR_CMETHOD_REF(br_object,                       identifier),
	BR_CMETHOD_REF(br_object,                       type),
	BR_CMETHOD_REF(br_object,                       isType),
	BR_CMETHOD_REF(br_object,                       device),
	BR_CMETHOD_REF(br_object,                       space),
	BR_CMETHOD_REF(br_object,                       templateQuery),
	BR_CMETHOD_REF(br_object,                       query),
	BR_CMETHOD_REF(br_object,                       queryBuffer),
	BR_CMETHOD_REF(br_object,                       queryMany),
	BR_CMETHOD_REF(br_object,                       queryManySize),
	BR_CMETHOD_REF(br_object,                       queryAll),
	BR_CMETHOD_REF(br_object,                       queryAllSize),
	BR_CMETHOD_REF(br_primitive_state,              partSet),
	BR_CMETHOD_REF(br_primitive_state,              partSetMany),
	BR_CMETHOD_REF(br_primitive_state,              partQuery),
	BR_CMETHOD_REF(br_primitive_state,              partQueryBuffer),
	BR_CMETHOD_REF(br_primitive_state,              partQueryMany),
	BR_CMETHOD_REF(br_primitive_state,              partQueryManySize),
	BR_CMETHOD_REF(br_primitive_state,              partQueryAll),
	BR_CMETHOD_REF(br_primitive_state,              partQueryAllSize),
	BR_CMETHOD_REF(br_primitive_state,              partIndexQuery),
	BR_CMETHOD_REF(br_primitive_state,              stateDefault),
	BR_CMETHOD_REF(br_primitive_state,              stateCopy),
	BR_CMETHOD_REF(br_primitive_state,              renderBegin),
	BR_CMETHOD_REF(br_primitive_state,              renderEnd),
	BR_CMETHOD_REF(br_primitive_state,              rangesQueryF),
	BR_CMETHOD_REF(br_primitive_state,              rangesQueryX),
	BR_CMETHOD_REF(br_primitive_state,              partQueryCapability),
	BR_CMETHOD_REF(br_primitive_state,              stateQueryPerformance),
};

#endif

#undef class

#ifdef __cplusplus
};
#endif
#endif
