//                                                                           

//  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[] =

{

     (mfl_create_func)NULL,                                                 //  0 - Reserved         

     PE32_create_file,                                                      //  MFL_OBJ_FILE         

     PE32_create_secgrp,                                                    //  MFL_OBJ_SECGRP       

     PE32_create_section,                                                   //  MFL_OBJ_SECTION      

     PE32_create_reloc_entry,                                               //  MFL_OBJ_RELOC_ENTRY  

     PE32_create_symtab,                                                    //  MFL_OBJ_SYMTAB       

     PE32_create_symbol,                                                    //  MFL_OBJ_SYMBOL       

     (mfl_create_func)NULL,                                                 //  MFL_OBJ_LINEGRP      | PE32_create_linegrp

     (mfl_create_func)NULL                                                  //  MFL_OBJ_LINE_ENTRY   | PE32_create_line_entry

};

#ifdef PECOFF32_EM

// ------------------------ PE3264_create_tbl ---------------------------------

mfl_create_func PE3264_create_tbl[] =

{

     (mfl_create_func)NULL,                                                 //  0 - Reserved         

     PE3264_create_file,                                                    //  MFL_OBJ_FILE         

     PE32_create_secgrp,                                                    //  MFL_OBJ_SECGRP       

     PE32_create_section,                                                   //  MFL_OBJ_SECTION      

     PE32_create_reloc_entry,                                               //  MFL_OBJ_RELOC_ENTRY  

     PE32_create_symtab,                                                    //  MFL_OBJ_SYMTAB       

     PE32_create_symbol,                                                    //  MFL_OBJ_SYMBOL       

     (mfl_create_func)NULL,                                                 //  MFL_OBJ_LINEGRP      | PE32_create_linegrp

     (mfl_create_func)NULL                                                  //  MFL_OBJ_LINE_ENTRY   | PE32_create_line_entry

};

#endif

#ifdef DUMMY_CODE

// ------------------------ PE32_copy_tbl ---------------------------------

mfl_copy_func PE32_copy_tbl[] =

{

     (mfl_copy_func)NULL,                                                   //  0 - Reserved         

     PE32_copy_file,                                                        //  MFL_OBJ_FILE         

     PE32_copy_secgrp,                                                      //  MFL_OBJ_SECGRP       

     PE32_copy_section,                                                     //  MFL_OBJ_SECTION      

     PE32_copy_reloc_entry,                                                 //  MFL_OBJ_RELOC_ENTRY  

     PE32_copy_symtab,                                                      //  MFL_OBJ_SYMTAB       

     PE32_copy_symbol,                                                      //  MFL_OBJ_SYMBOL       

     (mfl_copy_func)NULL,                                                   //  MFL_OBJ_LINEGRP      

     (mfl_copy_func)NULL                                                    //  MFL_OBJ_LINE_ENTRY   

};

#endif                                                                      //  DUMMY_CODE

// ------------------- PE32_delete_tbl -------------------

mfl_delete_func PE32_delete_tbl[] =

{

     (mfl_delete_func)NULL,                                                 //  0 - Reserved         

     (mfl_delete_func)NULL,                                                 //  MFL_OBJ_FILE         | PE32_delete_file,   

     (mfl_delete_func)NULL,                                                 //  MFL_OBJ_SECGRP       | PE32_delete_secgrp,

     (mfl_delete_func)NULL,                                                 //  MFL_OBJ_SECTION      | PE32_delete_section,

     PE32_delete_reloc_entry,                                               //  MFL_OBJ_RELOC_ENTRY  

     (mfl_delete_func)NULL,                                                 //  MFL_OBJ_SYMTAB       | PE32_delete_symtab,

     (mfl_delete_func)NULL,                                                 //  MFL_OBJ_SYMBOL       | PE32_delete_symbol  

     (mfl_delete_func)NULL,                                                 //  MFL_OBJ_LINEGRP      

     (mfl_delete_func)NULL                                                  //  MFL_OBJ_LINE_ENTRY   

};

#ifdef DUMMY_CODE

// ------------------------ PE32_move_tbl ---------------------------------

mfl_move_func PE32_move_tbl[] =

{

     (mfl_move_func)NULL,                                                   //  0 - Reserved         

     PE32_move_file,                                                        //  MFL_OBJ_FILE         

     (mfl_move_func)NULL,                                                   //  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   

};

#endif                                                                      //  DUMMY_CODE