home *** CD-ROM | disk | FTP | other *** search
/ Programming Win32 Under the API / ProgrammingWin32UnderTheApiPatVillani.iso / pedasm.zip / DasmData.h < prev    next >
C/C++ Source or Header  |  1998-10-23  |  2KB  |  75 lines

  1. /*        fichier DasmData.h : fichier header
  2.  *
  3.  *    descr : classe automate sortie des constantes des sections
  4.  *    projet : PEDasm
  5.  *
  6.  *    rq:
  7.  *    Ce programme est libre de droits. Il peut etre distribue et/ou modifie
  8.  *  selon les termes de la licence 'GNU General Public License version 2'.
  9.  *    
  10.  *    Ce programme est distribue sans aucunes garanties, y compris d'utilite 
  11.  *    ni de risques encouru, quelle que soit son utilisation.
  12.  *
  13.  *    lire le fichier licence.txt fourni ou bien ecrire a :
  14.  *    the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15.  *    pour recevoir une copie de la licence.
  16.  *
  17.  *    Copyright (C) 1997 - 1998 Nicolas Witczak <witczak@geocities.com>
  18.  */
  19.  
  20.  
  21. #ifndef DASM_DATA_H
  22.     #define DASM_DATA_H
  23.  
  24. #include <cstdlib>
  25. #include <cstdio>
  26. #include <vector>
  27. #include <set>
  28. #include <string>
  29.  
  30.  
  31.  
  32. #include "ExeRep.h"
  33.  
  34. #include "DasmBase.h"
  35.  
  36. ///////////////////////////////////////////////////////////////
  37. /** class CDasmData : desassemblage des variables
  38.  */
  39. class CDasmData : public CDasm
  40. {
  41. public:
  42. // construction
  43.     /** ctor , param VirtAdrStart */
  44.     CDasmData(); 
  45.  
  46. // interface classe de base
  47.     bool PassScan() ;
  48.     bool PassEcho() ;
  49.     bool ScanNext() ;
  50.     void PrintInstr() ;
  51.     void Reset() ;
  52. // traitement
  53.     /** complete la table des symbols avec les relocations necessaires*/
  54.     void ScanReloc();
  55.  
  56.     /** imprime ds le fichier les declarations de variables */
  57.     void PrintVar();
  58.  
  59.     /** ReqString : tente de reconnaitre une chaine de caractere 
  60.      *        entree pszCur , pszEnd : borne inf sup du buffer a reconnaitre
  61.      *        sortie pszBuff : buffer a remplir : 'chaine' 
  62.      *        retourne : nombre d'octets reconnu ou 0 si aucuns
  63.      */
  64.     int ReqString( BYTE* pszCur,BYTE* pszEnd , char* pszBuff );
  65.  
  66.     /** ReqDup : tente de reconnaitre un octet duplique
  67.      *        entree pszCur , pszEnd : borne inf sup du buffer a reconnaitre
  68.      *        sortie pszBuff : buffer a remplir : rep dup(val)
  69.      *        retourne : nombre d'octets reconnu ou 0 si aucuns
  70.      */
  71.     int ReqDup( BYTE* pszCur,BYTE* pszEnd , char* pszBuff );
  72. };
  73.  
  74.  
  75. #endif //DASM_DATA_H