#ifndef SAMPLE_H
#define SAMPLE_H

/* func1() and func2() use sin() and hypot() in math.h */
#include <math.h> 
#include <stdio.h> 

#if defined(_WIN32)
#define EXPORT _declspec(dllexport)
#else
#define EXPORT 
#endif

typedef struct tag {int i;
            float f;
} TAG;
typedef int (*FUNPTR)(int n);

EXPORT extern double func1(double x);
EXPORT extern double func2(double x, double y);
EXPORT extern TAG func3(int n);      /* return struct */
EXPORT extern TAG func4(int n);      /* return struct */
EXPORT extern int func5(FUNPTR fp, int n);  /* arg is pointer to func */

#endif /* SAMPLE_H */
