Changeset 3238 for trunk/tools


Ignore:
Timestamp:
Mar 26, 2000, 12:50:11 AM (26 years ago)
Author:
bird
Message:

Temporary checkin.

Location:
trunk/tools/dbginfo
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/dbginfo/kHll.cpp

    r3236 r3238  
    1 /* $Id: kHll.cpp,v 1.1 2000-03-25 21:09:59 bird Exp $
     1/* $Id: kHll.cpp,v 1.2 2000-03-25 23:50:11 bird Exp $
    22 *
    33 * kHll - Implementation of the class kHll.
     
    3232#include <string.h>
    3333#include <stddef.h>
     34#include <assert.h>
    3435
    3536#include "hll.h"
     37#include "kList.h"
    3638#include "kHll.h"
    3739
    3840
    3941
     42kHLLPubSym::kHLLPubSym(
     43        const char *        pszName,
     44        unsigned long       off,
     45        unsigned short      iObj,
     46        unsigned short      iType
     47        );
    4048
     49
     50kHLLPubSym::~kHLLPubSym();
     51
     52
     53int kHLLPubSym::write(FILE *phFile)
     54{
     55
     56}
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69/**
     70 * Constructor - Creates an empty HLL object.
     71 */
     72kHll::kHll()
     73{
     74}
     75
     76
     77/**
     78 * Destructor.
     79 */
     80kHll::~kHll()
     81{
     82}
     83
     84
     85/**
     86 * Adds an LX object to the HLL info.
     87 * @returns   Object handle. NULL on error.
     88 * @param     pszName   Object name.
     89 * @param     cb        Size of object.
     90 */
     91const void *    kHll::addObject(
     92                    const char *        pszName,
     93                    unsigned long int   cb
     94                    )
     95{
     96    pszName = pszName;
     97    cb = cb;
     98    return NULL;
     99}
     100
     101
     102/**
     103 * Adds a module.
     104 * @returns  Object handle. NULL on error.
     105 * @param    pszName    Module name
     106 * @param    pvLib      Library module handle.
     107 * @param    cObjects   Number of objects in the array.
     108 * @param    paObjects  Pointer to an array of objects.
     109 */
     110const void *    kHll::addModule(
     111                    const char *        pszName,
     112                    const void *        pvLib,
     113                    unsigned            cObject,
     114                    PMODOBJECT          paObjects)
     115{
     116    return NULL;
     117}
     118
     119
     120
     121/**
     122 * Adds a public symbol.
     123 * @returns   Handle to the symbol. NULL on error.
     124 * @param     pszName  Symbol name.
     125 * @param     off      Offset into the LX Object of the symbol.
     126 * @param     iObject  LX Object index.
     127 * @param     pvType   Type handle. NULL if not type.
     128 */
     129const void *    kHll::addPublicSymbol(
     130                    const char *        pszName,
     131                    unsigned long int   off,
     132                    unsigned short int  iObject,
     133                    const void *        pvType
     134                    )
     135{
     136    PHLLPUBLICSYM    pPubSym;
     137
     138    assert(pszName != NULL);
     139    pPubSym = (PHLLPUBLICSYM)malloc(sizeof(HLLPUBLICSYM) + strlen(pszName));
     140    if (pPubSym != NULL)
     141    {
     142        strcpy(pPubSym->hll.achName, pszName);
     143        pPubSym->hll.cchName = strlen(pszName);
     144        pPubSym->hll.iObj = iObject;
     145        pPubSym->hll.off = off;
     146        pPubSym->hll.iType = pvType == NULL ? 0 : -1; //FIXME/TODO: Types->getIndex(pvType); check if 0 or -1.
     147        PublicSymbols.insert(pPubSym);
     148        free(pPubSym);
     149    }
     150
     151    return NULL;
     152}
     153
     154
     155
     156BOOL            kHll::write(
     157                     const char *pszFilename
     158                     )
     159{
     160    return FALSE;
     161}
     162
     163
  • trunk/tools/dbginfo/kHll.h

    r3236 r3238  
    1 /* $Id: kHll.h,v 1.1 2000-03-25 21:10:00 bird Exp $
     1/* $Id: kHll.h,v 1.2 2000-03-25 23:50:11 bird Exp $
    22 *
    33 * kHll - Declarations of the class kHll.
     
    1515
    1616
     17/*******************************************************************************
     18*   Structures and Typedefs                                                    *
     19*******************************************************************************/
     20/**
     21 * Module object(=segment) description.
     22 */
     23typedef struct
     24{
     25    unsigned short  iObject;            /* LX Object index. */
     26    unsigned long   cb;                 /* Size of object part. */
     27    unsigned long   offset;             /* Offset into the LX Object. */
     28} MODOBJECT, *PMODOBJECT;
     29
    1730
    1831class kHll
     32
     33/**
     34 * HLL Public symbol entry.
     35 * @author      knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
     36 */
     37class kHllPubSymEntry : public kListEntry
    1938{
    2039private:
     40    PHLLPUBLICSYM       pPubSym;
     41
     42public:
     43    kHLLPubSym(
     44        const char *        pszName,
     45        unsigned long       off,
     46        unsigned short      iObj,
     47        unsigned short      iType
     48        );
     49    ~kHLLPubSym();
     50
     51    int         write(FILE *phFile);
     52};
     53
     54
     55
     56/**
     57 * HLL Debug Info generator.
     58 * @author      knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
     59 */
     60class kHll
     61{
     62
     63private:
     64    /** @cat
     65     * Internal data.
     66     */
     67    kList<kHllModuleEntry>     Modules;
     68    kList<kHllPubSymEntry>     PublicSymbols;
     69
     70
    2171public:
    2272    /** @cat
     
    3585    const void *    addModule(
    3686                        const char *        pszName,
    37                         const void *
    38 
    39                         ...);
     87                        const void *        pvLib,
     88                        unsigned            cObject,
     89                        PMODOBJECT          paObjects
     90                        );
    4091    const void *    addPublicSymbol(
    4192                        const char *        pszName,
     
    4394                        unsigned short int  iObject,
    4495                        const void *        pvType
    45                             );
     96                        );
    4697    /*
    4798    const void *    addPublicSymbol(
     
    52103                            );
    53104    */
    54 }
     105
     106
     107    /** @cat
     108     * Output.
     109     */
     110    BOOL            write(
     111                        const char *pszFilename
     112                        );
     113
     114};
    55115
    56116
Note: See TracChangeset for help on using the changeset viewer.