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.
const char * keyword
 Keyword used to select object format.
const char * extension
 Default output file extension (without the '.
const unsigned char default_x86_mode_bits
 Default (starting) x86 BITS setting.
const unsigned char id_at_ok
 If @ signs should be legal in identifiers.
const char ** dbgfmt_keywords
 NULL-terminated list of debug format (yasm_dbgfmt) keywords that are valid to use with this object format.
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.
const yasm_stdmacstdmacs
 NULL-terminated list of standard macro lookups.
yasm_objfmt *(* create )(yasm_object *object)
 Create object format.
void(* output )(yasm_object *o, FILE *f, int all_syms, yasm_errwarns *errwarns)
 Module-level implementation of yasm_objfmt_output().
void(* destroy )(yasm_objfmt *objfmt)
 Module-level implementation of yasm_objfmt_destroy().
yasm_section *(* add_default_section )(yasm_object *object)
 Module-level implementation of yasm_objfmt_add_default_section().
void(* init_new_section )(yasm_section *section, unsigned long line)
 Module-level implementation of yasm_objfmt_init_new_section().
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().
yasm_symrec *(* get_special_sym )(yasm_object *object, const char *name, const char *parser)
 Module-level implementation of yasm_objfmt_get_special_sym().

Detailed Description

Object format module interface.

Definition at line 44 of file objfmt.h.


Field Documentation

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.

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.

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.

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.

Module-level implementation of yasm_objfmt_destroy().

Call yasm_objfmt_destroy() instead of calling this function.

Definition at line 100 of file objfmt.h.

NULL-terminated list of directives.

NULL if none.

Definition at line 77 of file objfmt.h.

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.

Keyword used to select object format.

Definition at line 49 of file objfmt.h.

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.

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: