summaryrefslogtreecommitdiff
path: root/soltools/ldump/ldump.hxx
diff options
context:
space:
mode:
authorNils Fuhrmann <nf@openoffice.org>2001-04-11 08:52:27 +0000
committerNils Fuhrmann <nf@openoffice.org>2001-04-11 08:52:27 +0000
commit53adf7cac0cf63bd4eefe04add60c897047d8fd4 (patch)
tree7b351365f0b8290836f23fa107ba94b15b568f18 /soltools/ldump/ldump.hxx
parentbf483b816251187276c53d4812732d9e14a2e096 (diff)
Initial import, replacement of solenv/wnti/ldump
Diffstat (limited to 'soltools/ldump/ldump.hxx')
-rw-r--r--soltools/ldump/ldump.hxx110
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);
+};
+