You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.5 KiB

#ifndef _DEV_MAPFILEENTRY_H
#define _DEV_MAPFILEENTRY_H
namespace dev
{
/** An entry in the map file. */
class MapFileEntry
{
public:
/** Class constants. */
enum Constants
{
/** Maximum number of characters in map file entry name. */
MAX_NAME = 256
};
///
MapFileEntry();
/** Creates an entry with specified section, offset, length and name. */
MapFileEntry( long section, long offset, long length, const char* name, long rvabase );
/** Returns section of the entry. */
long section() const;
/** Returns offset of the entry. */
long offset() const;
/** Returns length of the entry (only defined for segments). */
long length() const;
/** Returns name of the entry. */
const char* name() const;
/** Returns the location of the entry. */
long rvabase() const;
/** Returns true if the offset of this entry is before the other one. */
bool operator<( const MapFileEntry& other ) const;
private:
long m_sec;
long m_addr;
long m_len;
char m_name[MAX_NAME+1];
long m_rvabase;
};
} // dev
#endif // _DEV_MAPFILEENTRY_H
/*
* Copyright (c) 2001 Jani Kajala
*
* Permission to use, copy, modify, distribute and sell this
* software and its documentation for any purpose is hereby
* granted without fee, provided that the above copyright notice
* appear in all copies and that both that copyright notice and
* this permission notice appear in supporting documentation.
* Jani Kajala makes no representations about the suitability
* of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/