You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libsxmp/man/sxhub_set_authcheck.3

75 lines
2.0 KiB
Groff

.TH SXHUB_SET_AUTHCHECK 3 "20 July 2015" "SXMP" "SXMP Library Manual"
.SH NAME
sxhub_set_authcheck \- Set callback for the connection links based on the connections set, called to validate user name and password of the peer.
.br
.SH SYNOPSIS
.B #include <sxmp/sxmp.h>
.sp
#define sxhub_set_authcheck(c, f)
.br
.sp
.SH DESCRIPTION
This macro should be used if you want to setup callback function fired while connection link initiating, and depending on returning value will establish link or destroy it.
.br
This macro will set on
.B c
connections link set callback
.B f
which is a function pointer of the type:
.br
.sp
.B typedef int (*authcheck_t)(sxlink_t *);
.br
.sp
It will pass a pointer to the connection link initiating now. Link isn't set fully at this moment and doesn't pass any messages and don't works with channel's operations. To pass initiation to the next stage this function should return
.B SXE_SUCCESS.
In fail case other code error should be returned. It's a good practice to return
.B SXE_EPERM
if username and password mismatch.
.SH RETURN VALUE
None.
.SH ERRORS
None.
.SH BUGS
None known yet.
.SH EXAMPLE
This example shows the code prototype for the simple username and password check:
.RS
.nf
.if t .ft CW
int logincheck(sxlink_t *co)
{
sxsession_ctx_t *ctx = sxlink_getpctx(co);
char *login = ctx->login;
char *password = ctx->password;
/* do checks ... */
/* your fail case */return SNE_EPERM;
return SXE_SUCCESS; /* all is fine */
}
.SH APPLICATION USAGE
This function should be used on the master service, it will not be called on the client application anyway.
.SH RATIONALE
None.
.SH SEE ALSO
.BI sxhub_set_priv(3)
,
.BI sxhub_get_priv(3)
,
.BI sxhub_set_ondestroy(3)
,
.BI sxhub_set_sslvalidate(3)
,
.BI sxlink_getpctx(3)
,
.BI sxlink_getpriv(3)
,
.BI sxlink_setpriv(3)
.SH COPYRIGHT
This software licensed under GNU LGPL v3. See COPYING for further details.
.br
(c) Askele Group 2013-2015 <http://askele.com>
.SH AUTHOR
Alexander Vdolainen (vdo@askele.com)