libyasm
Data Fields
yasm_objfmt_module Struct Reference

Object format module interface. More...

#include <objfmt.h>

Data Fields

const char * name
 One-line description of the object format. More...
 
const char * keyword
 Keyword used to select object format. More...
 
const char * extension
 Default output file extension (without the '. More...
 
const unsigned char default_x86_mode_bits
 Default (starting) x86 BITS setting. More...
 
const unsigned char id_at_ok
 If @ signs should be legal in identifiers. More...
 
const char ** dbgfmt_keywords
 NULL-terminated list of debug format (yasm_dbgfmt) keywords that are valid to use with this object format. More...
 
const char * default_dbgfmt_keyword
 Default debug format keyword (set even if there's only one available to use).
 
const yasm_directivedirectives
 NULL-terminated list of directives. More...
 
const yasm_stdmacstdmacs
 NULL-terminated list of standard macro lookups. More...
 
yasm_objfmt *(* create )(yasm_object *object)
 Create object format. More...
 
void(* output )(yasm_object *o, FILE *f, int all_syms, yasm_errwarns *errwarns)
 Module-level implementation of yasm_objfmt_output(). More...
 
void(* destroy )(yasm_objfmt *objfmt)
 Module-level implementation of yasm_objfmt_destroy(). More...
 
yasm_section *(* add_default_section )(yasm_object *object)
 Module-level implementation of yasm_objfmt_add_default_section(). More...
 
void(* init_new_section )(yasm_section *section, unsigned long line)
 Module-level implementation of yasm_objfmt_init_new_section(). More...
 
yasm_section *(* section_switch )(yasm_object *object, yasm_valparamhead *valparams, yasm_valparamhead *objext_valparams, unsigned long line)
 Module-level implementation of yasm_objfmt_section_switch(). More...
 
yasm_symrec *(* get_special_sym )(yasm_object *object, const char *name, const char *parser)
 Module-level implementation of yasm_objfmt_get_special_sym(). More...
 

Detailed Description

Object format module interface.

Definition at line 44 of file objfmt.h.

Field Documentation

yasm_section*(* yasm_objfmt_module::add_default_section)(yasm_object *object)

Module-level implementation of yasm_objfmt_add_default_section().

Call yasm_objfmt_add_default_section() instead of calling this function.

Definition at line 105 of file objfmt.h.

yasm_objfmt*(* yasm_objfmt_module::create)(yasm_object *object)

Create object format.

Module-level implementation of yasm_objfmt_create(). Call yasm_objfmt_create() instead of calling this function.

Parameters
objectobject
aarchitecture in use
Returns
NULL if architecture/machine combination not supported.

Definition at line 89 of file objfmt.h.

const char** yasm_objfmt_module::dbgfmt_keywords

NULL-terminated list of debug format (yasm_dbgfmt) keywords that are valid to use with this object format.

The null debug format (null_dbgfmt, "null") should always be in this list so it's possible to have no debug output.

Definition at line 69 of file objfmt.h.

const unsigned char yasm_objfmt_module::default_x86_mode_bits

Default (starting) x86 BITS setting.

This only appies to the x86 architecture; other architectures ignore this setting.

Definition at line 59 of file objfmt.h.

void(* yasm_objfmt_module::destroy)(yasm_objfmt *objfmt)

Module-level implementation of yasm_objfmt_destroy().

Call yasm_objfmt_destroy() instead of calling this function.

Definition at line 100 of file objfmt.h.

const yasm_directive* yasm_objfmt_module::directives

NULL-terminated list of directives.

NULL if none.

Definition at line 77 of file objfmt.h.

const char* yasm_objfmt_module::extension

Default output file extension (without the '.

'). NULL means no extension, with no '.', while "" includes the '.'.

Definition at line 54 of file objfmt.h.

yasm_symrec*(* yasm_objfmt_module::get_special_sym)(yasm_object *object, const char *name, const char *parser)

Module-level implementation of yasm_objfmt_get_special_sym().

Call yasm_objfmt_get_special_sym() instead of calling this function.

Definition at line 124 of file objfmt.h.

const unsigned char yasm_objfmt_module::id_at_ok

If @ signs should be legal in identifiers.

Definition at line 62 of file objfmt.h.

void(* yasm_objfmt_module::init_new_section)(yasm_section *section, unsigned long line)

Module-level implementation of yasm_objfmt_init_new_section().

Call yasm_objfmt_init_new_section() instead of calling this function.

Definition at line 110 of file objfmt.h.

const char* yasm_objfmt_module::keyword

Keyword used to select object format.

Definition at line 49 of file objfmt.h.

const char* yasm_objfmt_module::name

One-line description of the object format.

Definition at line 46 of file objfmt.h.

void(* yasm_objfmt_module::output)(yasm_object *o, FILE *f, int all_syms, yasm_errwarns *errwarns)

Module-level implementation of yasm_objfmt_output().

Call yasm_objfmt_output() instead of calling this function.

Definition at line 94 of file objfmt.h.

yasm_section*(* yasm_objfmt_module::section_switch)(yasm_object *object, yasm_valparamhead *valparams,yasm_valparamhead *objext_valparams, unsigned long line)

Module-level implementation of yasm_objfmt_section_switch().

Call yasm_objfmt_section_switch() instead of calling this function.

Definition at line 116 of file objfmt.h.

const yasm_stdmac* yasm_objfmt_module::stdmacs

NULL-terminated list of standard macro lookups.

NULL if none.

Definition at line 80 of file objfmt.h.


The documentation for this struct was generated from the following file: