do not use EPROTO on platforms that do not have it

Some platforms (only OpenBSD?) do not use EPROTO; this patch fixes compiler errors on such platforms.  This patch is also superior to [this one](https://github.com/PiotrSikora/libxs/commit/7bc7682bce0cf575c2250d0280b51aed14af7636) because embedding CPP directives within macro arguments is not portable, or so said a compiler warning.

##### References:
I first became aware of this problem through reports from the [CPAN testers](http://www.cpantesters.org/cpan/report/43efd072-6342-11e2-a2f1-82091a5d253f).