free(ctx);
}
-int canl_create_io_handler(canl_ctx cc, canl_io_handler *io)
+canl_err_code
+canl_create_io_handler(canl_ctx cc, canl_io_handler *io)
{
io_handler *new_io_h = NULL;
glb_ctx *g_cc = cc;
return 0;
}
-int canl_io_connect(canl_ctx cc, canl_io_handler io, const char *host, const char *service,
+canl_err_code
+canl_io_connect(canl_ctx cc, canl_io_handler io, const char *host, const char *service,
int port, gss_OID_set auth_mechs,
int flags, struct timeval *timeout)
{
}
/*TODO select + timeout, EINTR!!! */
-int canl_io_accept(canl_ctx cc, canl_io_handler io, int new_fd,
+canl_err_code
+canl_io_accept(canl_ctx cc, canl_io_handler io, int new_fd,
struct sockaddr s_addr, int flags, canl_principal *peer,
struct timeval *timeout)
{
}
/* close connection, preserve some info for the future reuse */
-int canl_io_close(canl_ctx cc, canl_io_handler io)
+canl_err_code
+canl_io_close(canl_ctx cc, canl_io_handler io)
{
io_handler *io_cc = (io_handler*) io;
glb_ctx *glb_cc = (glb_ctx*) cc;
}
-int canl_io_destroy(canl_ctx cc, canl_io_handler io)
+canl_err_code
+canl_io_destroy(canl_ctx cc, canl_io_handler io)
{
int err = 0;
glb_ctx *glb_cc = (glb_ctx*) cc;
#include <canl_err.h>
+#ifndef CANL_CALLCONV
+#define CANL_CALLCONV
+#endif
+
typedef void *canl_io_handler;
typedef void *canl_ctx;
typedef void *canl_principal;
-canl_ctx canl_create_ctx();
-void canl_free_ctx(canl_ctx cc);
-int canl_create_io_handler(canl_ctx, canl_io_handler*);
+typedef long canl_err_code;
+
+canl_ctx CANL_CALLCONV
+canl_create_ctx();
+
+void CANL_CALLCONV
+canl_free_ctx(canl_ctx cc);
+
+canl_err_code CANL_CALLCONV
+canl_create_io_handler(canl_ctx cc, canl_io_handler*);
+
+canl_err_code CANL_CALLCONV
+canl_io_connect(canl_ctx cc, canl_io_handler io, const char *host, const char *service,
+ int port, gss_OID_set auth_mechs, int flags, struct timeval *timeout);
+
+canl_err_code CANL_CALLCONV
+canl_io_accept(canl_ctx cc, canl_io_handler io, int fd, struct sockaddr s_addr,
+ int flags, canl_principal *peer, struct timeval *timeout);
-int canl_io_connect(canl_ctx cc, canl_io_handler io, const char *host, const char *service,
- int port, gss_OID_set auth_mechs, int flags, struct timeval *timeout);
-int canl_io_accept(canl_ctx cc, canl_io_handler io, int fd,
- struct sockaddr s_addr, int flags, canl_principal *peer,
- struct timeval *timeout);
-size_t canl_io_read(canl_ctx cc, canl_io_handler io, void *buffer, size_t size, struct timeval *timeout);
-size_t canl_io_write(canl_ctx cc, canl_io_handler io, void *buffer, size_t size, struct timeval *timeout);
+size_t CANL_CALLCONV
+canl_io_read(canl_ctx cc, canl_io_handler io, void *buffer,
+ size_t size, struct timeval *timeout);
-long
+size_t CANL_CALLCONV
+canl_io_write(canl_ctx cc, canl_io_handler io, void *buffer,
+ size_t size, struct timeval *timeout);
+
+canl_err_code CANL_CALLCONV
canl_get_error_code(canl_ctx cc);
-char *
+char * CANL_CALLCONV
canl_get_error_message(canl_ctx);
-int canl_get_error(canl_ctx cc, char ** reason);
-int canl_io_close(canl_ctx cc, canl_io_handler io);
-int canl_io_destroy(canl_ctx cc, canl_io_handler io);
+canl_err_code CANL_CALLCONV
+canl_get_error(canl_ctx cc, char ** reason);
+
+canl_err_code CANL_CALLCONV
+canl_io_close(canl_ctx cc, canl_io_handler io);
+
+canl_err_code CANL_CALLCONV
+canl_io_destroy(canl_ctx cc, canl_io_handler io);
+
+canl_err_code CANL_CALLCONV
+canl_princ_name(canl_ctx, const canl_principal, char **);
+
+canl_err_code CANL_CALLCONV
+canl_princ_mech(canl_ctx, const canl_principal, gss_OID *);
+
+char * CANL_CALLCONV
+canl_mech2str(canl_ctx, gss_OID);
-int canl_princ_name(canl_ctx, const canl_principal, char **);
-int canl_princ_mech(canl_ctx, const canl_principal, gss_OID *);
-char * canl_mech2str(canl_ctx, gss_OID);
-const gss_OID canl_str2mech(canl_ctx, const char mech);
+const gss_OID CANL_CALLCONV
+canl_str2mech(canl_ctx, const char mech);
#ifdef __cplusplus
}