The C++ bindings for libssh are completely embedded in a single .hpp file, and this for two reasons:
- C++ is hard to keep binary compatible, C is easy. We try to keep libssh C version as much as possible binary compatible between releases, while this would be hard for C++. If you compile your program with these headers, you will only link to the C version of libssh which will be kept ABI compatible. No need to recompile your C++ program each time a new binary-compatible version of libssh is out
- Most of the functions in this file are really short and are probably worth the "inline" linking mode, which the compiler can decide to do in some case. There would be nearly no performance penalty of using the wrapper rather than native calls.
Please visit the documentation of ssh::Session and ssh::Channel
- See also
If you wish not to use C++ exceptions, please define SSH_NO_CPP_EXCEPTIONS:
All functions will then return SSH_ERROR in case of error.