Even without a header file, if you have the prototype, you can make a header file yourself, or just enter the prototype directly in the SWIG interface file.
For example, if the prototype is:
int sum(const std::vector<int>& vint);
The SWIG interface would be:
%module example
%{
#include <vector>
%}
%include <std_vector.i> # SWIG support
%template() std::vector<int>; # Generate code to support template instance.
int sum(const std::vector<int>& vint); # Generate wrapper for function.