diff options
author | Nils Fuhrmann <nf@openoffice.org> | 2001-04-11 08:52:27 +0000 |
---|---|---|
committer | Nils Fuhrmann <nf@openoffice.org> | 2001-04-11 08:52:27 +0000 |
commit | 53adf7cac0cf63bd4eefe04add60c897047d8fd4 (patch) | |
tree | 7b351365f0b8290836f23fa107ba94b15b568f18 /soltools/ldump/ldump.hxx | |
parent | bf483b816251187276c53d4812732d9e14a2e096 (diff) |
Initial import, replacement of solenv/wnti/ldump
Diffstat (limited to 'soltools/ldump/ldump.hxx')
-rw-r--r-- | soltools/ldump/ldump.hxx | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/soltools/ldump/ldump.hxx b/soltools/ldump/ldump.hxx new file mode 100644 index 000000000000..a818e6622843 --- /dev/null +++ b/soltools/ldump/ldump.hxx @@ -0,0 +1,110 @@ +/************************************************************************* + * + * $RCSfile: ldump.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: nf $ $Date: 2001-04-11 09:52:26 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#include "hashtbl.hxx" + +#define MAXFILT 200 + +struct LibExport +{ + char *cExportName; // zu exportierende Fkt. + unsigned long nOrdinal; // Nummer der zu export. Fkt. + bool bByName; // NONAME anhaengen + bool bExport; // exportieren oder nicht ? +}; + +class ExportSet; +class LibDump +{ + ExportSet *pBaseTab; // Zugriff auf gemangelte Namen + ExportSet *pIndexTab; // Zugriff auf die Ordinals + char *cBName; // Name der Datenbasis + char *cAPrefix; // Prefix fuer C-Fkts. + char *cLibName; // Name der zu untersuchenden Lib + char *cFilterName; // Name der Filterdatei + char *cModName; // Modulname + unsigned short nBegin; // Nummer des ersten Exports + unsigned long nBaseLines; // Line in Datenbasis + unsigned long nFilterLines; // Line in FilterTabelle + char **pFilterLines; // Filtertabelle + unsigned long nDefStart; + bool bBase; // Existenz der DatenBasis; + bool bAll; // Alle Fkts exportieren + bool bDef; // DefFile schreiben ( bei -E ) + + bool CheckDataBase(); + bool CheckLibrary(char * cName); + bool ReadDataBase(); + bool ReadFilter(char *); + bool PrintSym(char *, bool bName = true ); +public: + LibDump( char *cFileName ); + ~LibDump(); + bool Dump(); + bool SetFilter(char *cFilterName); + void SetBeginExport(unsigned short nVal){nBegin = nVal;} + void SetCExport( char* pName ); + bool Filter(char *pName); + bool PrintDefFile(); + bool PrintDataBase(); + static bool DumpError(unsigned long nError); +}; + |