/*                                                                          */

/* Copyright (c) 1998, 1999, 2000, 2001, 2002, Intel Corporation            */

/* All rights reserved.                                                     */

/*                                                                          */

/* WARRANTY DISCLAIMER                                                      */

/*                                                                          */

/* THESE MATERIALS ARE PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS   */

/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT        */

/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR    */

/* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS      */

/* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,    */

/* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,      */

/* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR       */

/* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY      */

/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING   */

/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THESE      */

/* MATERIALS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.            */

/*                                                                          */

/* Intel Corporation is the author of the Materials, and requests that all  */

/* problem reports or change requests be submitted to it directly at        */

/* http://developer.intel.com/opensource.                                   */

/*                                                                          */

/*

*******************************************************************************

*******************************************************************************

*/

/*****************************************************************************/

/* PE32TAB.C created 04/15/93 by Anat Shemer (iSWP-STT)                      */

/*                                                                           */

/* MOFL's PE32 specific tables                                              */

/*****************************************************************************/

#include "pe32.h"

/******************** Properties set/get functions table ********************/

property_desc PE32_prop_table[] =

{

    /* Cell 0 is reserved */

    {

              (mfl_get_func)NULL,               (mfl_set_func)NULL

    },

    /* MFL_PROP_OBJ_TYPE */

    {

              mfl_get_obj_type,                 (mfl_set_func)NULL

    },

    /* MFL_PROP_OBJ_PARENT */

    {

              mfl_get_obj_parent,               (mfl_set_func)NULL

    },

    /* MFL_PROP_OBJ_OMF */

    {

              mfl_get_obj_omf,                  (mfl_set_func)NULL

    },

    /* MFL_PROP_OBJ_USER_DATA_PTR */

    {

              mfl_get_obj_user_data_ptr,         mfl_set_obj_user_data_ptr

    },

    /* MFL_PROP_OBJ_USER_DATA_ADDR */

    {

              mfl_get_obj_user_data_addr,        mfl_set_obj_user_data_addr

    },

    /* MFL_PROP_OBJ_USER_DATA_OD */

};

/************************* PE32_create_tbl **********************************/

mfl_create_func PE32_create_tbl[] =

{

    /* 0 - Reserved         */ (mfl_create_func)NULL,

    /* MFL_OBJ_FILE         */ PE32_create_file,

    /* MFL_OBJ_SECGRP       */ PE32_create_secgrp,

    /* MFL_OBJ_SECTION      */ PE32_create_section,

    /* MFL_OBJ_RELOC_ENTRY  */ PE32_create_reloc_entry,

    /* MFL_OBJ_SYMTAB       */ PE32_create_symtab,

    /* MFL_OBJ_SYMBOL       */ PE32_create_symbol,

    /* MFL_OBJ_LINEGRP      */ (mfl_create_func)NULL, /* PE32_create_linegrp */

    /* MFL_OBJ_LINE_ENTRY   */ (mfl_create_func)NULL  /* PE32_create_line_entry */

};

#ifdef PECOFF32_EM

/************************* PE3264_create_tbl **********************************/

mfl_create_func PE3264_create_tbl[] =

{

    /* 0 - Reserved         */ (mfl_create_func)NULL,

    /* MFL_OBJ_FILE         */ PE3264_create_file,

    /* MFL_OBJ_SECGRP       */ PE32_create_secgrp,

    /* MFL_OBJ_SECTION      */ PE32_create_section,

    /* MFL_OBJ_RELOC_ENTRY  */ PE32_create_reloc_entry,

    /* MFL_OBJ_SYMTAB       */ PE32_create_symtab,

    /* MFL_OBJ_SYMBOL       */ PE32_create_symbol,

    /* MFL_OBJ_LINEGRP      */ (mfl_create_func)NULL, /* PE32_create_linegrp */

    /* MFL_OBJ_LINE_ENTRY   */ (mfl_create_func)NULL  /* PE32_create_line_entry */

};

#endif

#ifdef DUMMY_CODE

/************************* PE32_copy_tbl **********************************/

mfl_copy_func PE32_copy_tbl[] =

{

    /* 0 - Reserved         */ (mfl_copy_func)NULL,

    /* MFL_OBJ_FILE         */ PE32_copy_file,

    /* MFL_OBJ_SECGRP       */ PE32_copy_secgrp,

    /* MFL_OBJ_SECTION      */ PE32_copy_section,

    /* MFL_OBJ_RELOC_ENTRY  */ PE32_copy_reloc_entry,

    /* MFL_OBJ_SYMTAB       */ PE32_copy_symtab,

    /* MFL_OBJ_SYMBOL       */ PE32_copy_symbol,

    /* MFL_OBJ_LINEGRP      */ (mfl_copy_func)NULL,

    /* MFL_OBJ_LINE_ENTRY   */ (mfl_copy_func)NULL

};

#endif /* DUMMY_CODE */

/******************** PE32_delete_tbl ********************/

mfl_delete_func PE32_delete_tbl[] =

{

    /* 0 - Reserved         */ (mfl_delete_func)NULL,

    /* MFL_OBJ_FILE         */ (mfl_delete_func)NULL, /* PE32_delete_file,   */

    /* MFL_OBJ_SECGRP       */ (mfl_delete_func)NULL, /* PE32_delete_secgrp, */

    /* MFL_OBJ_SECTION      */ (mfl_delete_func)NULL, /* PE32_delete_section,*/

    /* MFL_OBJ_RELOC_ENTRY  */ PE32_delete_reloc_entry,

    /* MFL_OBJ_SYMTAB       */ (mfl_delete_func)NULL, /* PE32_delete_symtab, */

    /* MFL_OBJ_SYMBOL       */ (mfl_delete_func)NULL, /* PE32_delete_symbol  */

    /* MFL_OBJ_LINEGRP      */ (mfl_delete_func)NULL,

    /* MFL_OBJ_LINE_ENTRY   */ (mfl_delete_func)NULL

};

#ifdef DUMMY_CODE

/************************* PE32_move_tbl **********************************/

mfl_move_func PE32_move_tbl[] =

{

    /* 0 - Reserved         */ (mfl_move_func)NULL,

    /* MFL_OBJ_FILE         */ PE32_move_file,

    /* MFL_OBJ_SECGRP       */ (mfl_move_func)NULL,

    /* MFL_OBJ_SECTION      */ (mfl_move_func)NULL,

    /* MFL_OBJ_RELOC_ENTRY  */ (mfl_move_func)NULL,

    /* MFL_OBJ_SYMTAB       */ (mfl_move_func)NULL,

    /* MFL_OBJ_SYMBOL       */ (mfl_move_func)NULL,

    /* MFL_OBJ_LINEGRP      */ (mfl_move_func)NULL,

    /* MFL_OBJ_LINE_ENTRY   */ (mfl_move_func)NULL

};

#endif /* DUMMY_CODE */