1// -*- C++ -*-
2//    foo.h -- interface to the libfoo* libraries
3//    Copyright (C) 1998-1999 Free Software Foundation, Inc.
4//    Originally by Thomas Tanner <tanner@ffii.org>
5//    This file is part of GNU Libtool.
6
7// This program is free software; you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation; either version 2 of the License, or
10// (at your option) any later version.
11
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License
18// along with this program; if not, write to the Free Software
19// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
20// USA.
21
22// Only include this header file once.
23#ifndef _FOO_H_
24#define _FOO_H_ 1
25
26// Silly constants that the functions return.
27#define HELLO_RET 0xe110
28#define FOO_RET 0xf00
29
30// Our C test functions.
31extern "C"
32{
33  int foo(void);
34  int hello(void);
35}
36
37// Our test C++ base class.
38class foobar
39{
40public:
41  virtual int foo(void) = 0;
42  virtual int hello(void) = 0;
43  // Some dummy pure virtual functions.
44};
45
46
47// Our test C++ derived class.
48class foobar_derived : public foobar
49{
50public:
51  virtual int foo(void);
52  virtual int hello(void);
53  // Override the base class' pure virtual functions.
54};
55
56#endif /* !_FOO_H_ */
57