/*
 * Secure Network Transport Layer Library v2 implementation.
 * (sntllv2) it superseed all versions before due to the:
 * - memory consumption
 * - new features such as pulse emitting
 * - performance optimization
 *
 * This is a proprietary software. See COPYING for further details.
 *
 * (c) Askele Group 2013-2015 <http://askele.com>
 *
 */

#ifndef __SNTL_ERRNO_H__
#define	__SNTL_ERRNO_H__

#define __SNTL_EPREFIX  200

#define SNE_SUCCESS      200
#define SNE_FAILED       201
#define SNE_ENOMEM       202
#define SNE_BADPROTO     203
#define SNE_ENORPC       204
#define SNE_EPERM        205
#define SNE_TOOLONG      206
#define SNE_EBUSY        207
#define SNE_WOULDBLOCK   208
#define SNE_LINKERROR    209
#define SNE_NOSUCHMSG    210
#define SNE_NOSUCHCHAN   211
#define SNE_ETIMEDOUT    212
#define SNE_IGNORED      213
#define SNE_REPLYREQ     214
#define SNE_RAPIDMSG     215
#define SNE_ESSL         216
#define SNE_NOCHANNELS   217
#define SNE_MCHANNELS    218
#define SNE_MMESSAGES    219
#define SNE_LINKBROKEN   220
#define SNE_INVALINDEX   221

/* some old errors for compatibility */
#define ESXOREPLYREQ   SNE_REPLYREQ  /* protocol require reply with expression,
                            * or expression return for the request */
#define ESXOTIMEDOUT   SNE_ETIMEDOUT  /* timedout */
#define ESXRCBADPROT   SNE_BADPROTO  /* invalid protocol */
#define ESXNOCONNECT   SNE_LINKERROR  /* connection is lost */
#define ESXNOCHANSUP   SNE_NOSUCHCHAN
#define ESXRAPIDREPLY  SNE_RAPIDMSG

const char *sntll_errno2cstr(int);

#endif /* __SNTL_ERRNO_H__ */