brender-v1.3.2/ddi_inc/brddi_p.h

240 lines
8.8 KiB
C
Raw Normal View History

/*
* Copyright (c) 1993-1995 Argonaut Technologies Limited. All rights reserved.
*
* $Id: brddi_p.h 1.3 1998/11/12 13:14:55 johng Exp $
* $Locker: $
*
* Prototypes for functions that are exposed to device drivers
*/
#ifndef _BRDDI_P_H_
#define _BRDDI_P_H_
#ifndef _NO_PROTOTYPES
#ifdef __cplusplus
extern "C" {
#endif
br_boolean BR_RESIDENT_ENTRY BrNamePatternMatch(char *p, char *s);
/*
* Debugging printf
*/
int BR_RESIDENT_ENTRY BrLogPrintf(char *fmt,...);
/*
* resource.c
*/
br_uint_32 BR_RESIDENT_ENTRY BrResCheck(void *vres, int no_tag);
void BR_RESIDENT_ENTRY BrResDump(void *vres, br_putline_cbfn *putline, void *arg);
/*
* brexcept.c
*/
br_exception_handler * BR_RESIDENT_ENTRY _BrExceptionBegin(void);
void BR_RESIDENT_ENTRY _BrExceptionEnd(void);
void BR_RESIDENT_ENTRY _BrExceptionThrow(br_int_32 type, void *value);
br_exception BR_RESIDENT_ENTRY _BrExceptionValueFetch(br_exception type, void **evp);
void * BR_RESIDENT_ENTRY _BrExceptionResource(void);
/*
* error.c
*/
void BR_RESIDENT_ENTRY BrLastErrorSet(br_error type, void *value);
br_error BR_RESIDENT_ENTRY BrLastErrorGet(void **valuep);
/*
* token.c
*/
br_token BR_RESIDENT_ENTRY BrTokenCreate(char *identifier, br_token type);
char * BR_RESIDENT_ENTRY BrTokenIdentifier(br_token t);
br_token BR_RESIDENT_ENTRY BrTokenType(br_token t);
br_int_32 BR_RESIDENT_ENTRY BrTokenCount(char *pattern);
br_token BR_RESIDENT_ENTRY BrTokenFind(char *pattern);
br_int_32 BR_RESIDENT_ENTRY BrTokenFindMany(char *pattern, br_token *tokens, br_int_32 max_tokens);
/*
* tokenval.c
*/
br_tv_template * BR_RESIDENT_ENTRY BrTVTemplateAllocate(void *res, br_tv_template_entry *entries, int n_entries);
void BR_RESIDENT_ENTRY BrTVTemplateFree(br_tv_template *t);
br_error BR_RESIDENT_ENTRY BrTokenValueQuery(
br_uint_32 *pvalue, br_uint_32 *extra, br_size_t extra_size,
br_token t,
void *block,
br_tv_template *_template);
br_error BR_RESIDENT_ENTRY BrTokenValueQueryMany(
br_token_value *tv,
void *extra, br_size_t extra_size,
br_int_32 *pcount,
void *block,
br_tv_template *_template);
br_error BR_RESIDENT_ENTRY BrTokenValueQueryManySize(
br_size_t *psize,
br_token_value *tv,
void *block,
br_tv_template *_template);
br_error BR_RESIDENT_ENTRY BrTokenValueQueryAll(
br_token_value *buffer, br_size_t buffer_size,
void *block,
br_tv_template *_template);
br_error BR_RESIDENT_ENTRY BrTokenValueQueryAllSize(
br_size_t *psize,
void *block,
br_tv_template *_template);
br_error BR_RESIDENT_ENTRY BrTokenValueSet(
void *mem,
br_uint_32 *pcombined_mask,
br_token t,
br_uint_32 value,
br_tv_template *_template);
br_error BR_RESIDENT_ENTRY BrTokenValueSetMany(
void *mem,
br_int_32 *pcount,
br_uint_32 *pcombined_mask,
br_token_value *tv,
br_tv_template *_template);
void BR_RESIDENT_ENTRY BrTokenValueDump(br_token_value *tv, char *prefix, br_putline_cbfn *putline, void *arg);
br_error BR_RESIDENT_ENTRY BrStringToTokenValue(br_token_value *buffer, br_size_t buffer_size, char *str);
br_boolean BR_RESIDENT_ENTRY BrTokenValueCompare(br_token_value *tv1, br_token_value *tv2);
br_boolean BR_RESIDENT_ENTRY BrTokenValueComparePartial(br_token_value *tv1, br_token_value *tv2, br_token *insignificant);
/*
* diag.c
*/
void BR_RESIDENT_ENTRY _BrAssert(char *condition, char *file, unsigned line);
void BR_RESIDENT_ENTRY _BrUAssert(char *condition, char *file, unsigned line);
/*
* lexer.c
*/
struct br_lexer * BR_RESIDENT_ENTRY BrLexerAllocate(struct br_lexer_keyword *keywords, int nkeywords);
void BR_RESIDENT_ENTRY BrLexerFree(struct br_lexer * l);
char BR_RESIDENT_ENTRY BrLexerCommentSet(struct br_lexer * l, char eol_comment);
br_lexer_error_cbfn * BR_RESIDENT_ENTRY BrLexerErrorSet(struct br_lexer * l, br_lexer_error_cbfn *error);
br_error BR_RESIDENT_ENTRY BrLexerPushFile(struct br_lexer * l, char *file);
br_error BR_RESIDENT_ENTRY BrLexerPushString(struct br_lexer * l, char *string, char *name);
struct br_lexer_source * BR_RESIDENT_ENTRY BrLexerPop(struct br_lexer * l);
br_error BR_RESIDENT_ENTRY BrLexerDumpSet(struct br_lexer * l, br_putline_cbfn *putline, void *putline_arg);
void BR_RESIDENT_ENTRY BrLexerTokenError(struct br_lexer * l, br_lexer_token_id t);
void BR_RESIDENT_ENTRY BrLexerPosition(struct br_lexer * l, char *buf, br_size_t buf_size);
br_int_32 BR_RESIDENT_ENTRY BrParseInteger(struct br_lexer * l);
br_float BR_RESIDENT_ENTRY BrParseFloat(struct br_lexer * l);
br_fixed_ls BR_RESIDENT_ENTRY BrParseFixed(struct br_lexer * l);
br_int_32 BR_RESIDENT_ENTRY BrParseVectorFloat(struct br_lexer * l, br_float *v, br_int_32 max);
br_int_32 BR_RESIDENT_ENTRY BrParseVectorFixed(struct br_lexer * l, br_fixed_ls *v, br_int_32 max);
br_int_32 BR_RESIDENT_ENTRY BrParseMatrixFloat(struct br_lexer * l, br_float *m, br_int_32 width, br_int_32 max_h);
br_int_32 BR_RESIDENT_ENTRY BrParseMatrixFixed(struct br_lexer * l, br_fixed_ls *m, br_int_32 width, br_int_32 max_h);
#if BASED_FIXED
#define BrParseScalar BrParseFixed
#define BrParseVector BrParseVectorFixed
#define BrParseMatrix BrParseMatrixFixed
#endif
#if BASED_FLOAT
#define BrParseScalar BrParseFloat
#define BrParseVector BrParseVectorFloat
#define BrParseMatrix BrParseMatrixFloat
#endif
/*
* object.c
*/
br_error BR_CMETHOD_DECL(br_object,query)(struct br_object *self, br_uint_32 *pvalue, br_token t);
br_error BR_CMETHOD_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_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_DECL(br_object,queryManySize)
(struct br_object *self, br_size_t *pextra_size, br_token_value *tv);
br_error BR_CMETHOD_DECL(br_object,queryAll)
(struct br_object *self, br_token_value *buffer, br_size_t buffer_size);
br_error BR_CMETHOD_DECL(br_object,queryAllSize)
(struct br_object *self, br_size_t *psize);
/*
* objectc.c
*/
void * BR_RESIDENT_ENTRY BrObjectListAllocate(void *res);
br_error BR_CMETHOD_DECL(br_object_container, addFront)(struct br_object_container *self, struct br_object *ph);
br_error BR_CMETHOD_DECL(br_object_container, removeFront)(struct br_object_container *self, struct br_object **ph);
br_error BR_CMETHOD_DECL(br_object_container, remove)(struct br_object_container *self, struct br_object *ph);
br_error BR_CMETHOD_DECL(br_object_container, find)(struct br_object_container *self,
struct br_object **ph, br_token type, char *pattern, br_token_value *tv);
br_error BR_CMETHOD_DECL(br_object_container, findMany)(struct br_object_container *self,
struct br_object **objects, br_int_32 max_objects, br_int_32 *num_objects, br_token type, char *pattern, br_token_value *tv);
br_error BR_CMETHOD_DECL(br_object_container, count)(struct br_object_container *self,
br_uint_32 *pcount, br_token type, char *pattern, br_token_value *tv);
void * BR_CMETHOD_DECL(br_object_container, tokensMatchBegin)
(struct br_object_container *self, br_token t, br_token_value *tv);
br_boolean BR_CMETHOD_DECL(br_object_container, tokensMatch)
(struct br_object_container *self, struct br_object *h, void *arg);
void BR_CMETHOD_DECL(br_object_container, tokensMatchEnd)
(struct br_object_container *self, void *arg);
br_error BR_RESIDENT_ENTRY BrObjectContainerFree(struct br_object_container *self, br_token type, char *pattern, br_token_value *tv);
/*
* image.c
*/
struct br_image * BR_RESIDENT_ENTRY BrImageReference(char *name);
void BR_RESIDENT_ENTRY BrImageDereference(struct br_image *image);
void * BR_RESIDENT_ENTRY BrImageLookupName(struct br_image *img, char *name, br_uint_32 hint);
void * BR_RESIDENT_ENTRY BrImageLookupOrdinal(struct br_image *img, br_uint_32 ordinal);
br_boolean BR_RESIDENT_ENTRY BrImageAdd(br_image *ing);
br_boolean BR_RESIDENT_ENTRY BrImageRemove(br_image *img);
/*
* Entry/exit tracking hooksfor Watcom C++
*/
void BR_RESIDENT_ENTRY _EPI(void);
void BR_RESIDENT_ENTRY _PRO(void);
/*
* Registry lists
*/
void *BrRegistryClear(br_registry *reg);
int BrRegistryAddMany(br_registry *reg, void **item, int n);
int BrRegistryRemoveMany(br_registry *reg, void **item, int n);
void *BrRegistryFind(br_registry *reg, char *pattern);
int BrRegistryFindMany(br_registry *reg, char *pattern, void **item, int n);
int BrRegistryCount(br_registry *reg, char *pattern);
int BrRegistryEnum(br_registry *reg, char *pattern,
br_enum_cbfn *callback, void *arg);
void *BrRegistryNew(br_registry *reg);
void *BrRegistryAdd(br_registry *reg, void *item);
void *BrRegistryRemove(br_registry *reg, void *item);
void *BrRegistryNewStatic(br_registry *reg, br_registry_entry *base, int limit);
void *BrRegistryAddStatic(br_registry *reg, br_registry_entry *base, void *item);
void *BrRegistryRemoveStatic(br_registry *reg, void *item);
/*
* Nasty hack for finding out the last pixelmap that DevBegin() was called with
*/
br_pixelmap * BrDevLastBeginQuery(void);
void BrDevLastBeginSet(br_pixelmap *pm);
#ifdef __cplusplus
};
#endif
#endif
#endif