1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
.\" File automatically generated by doxy2man0.2
.\" Generation date: Fri Sep 14 2018
.TH radcli.h 3 2018-09-14 "radcli" "Radius client library"
.SH "NAME"
radcli.h \-
.SH SYNOPSIS
.nf
.B #include <radcli/radcli.h>
.fi
.SH DESCRIPTION
.PP
.sp
.RS
.nf
\fB
int rc_aaa(rc_handle *, uint32_t, VALUE_PAIR *, VALUE_PAIR **, char *, int, rc_standard_codes);
int rc_aaa_ctx(rc_handle *, RC_AAA_CTX **, uint32_t, VALUE_PAIR *, VALUE_PAIR **, char *, int, rc_standard_codes);
void rc_aaa_ctx_free(RC_AAA_CTX *);
const char *rc_aaa_ctx_get_secret(RC_AAA_CTX *);
const void *rc_aaa_ctx_get_vector(RC_AAA_CTX *);
int rc_aaa_ctx_server(rc_handle *, RC_AAA_CTX **, SERVER *, rc_type, uint32_t, VALUE_PAIR *, VALUE_PAIR **, char *, int, rc_standard_codes);
int rc_acct(rc_handle *, uint32_t, VALUE_PAIR *);
int rc_acct_proxy(rc_handle *, VALUE_PAIR *);
int rc_add_config(rc_handle *, char const *, char const *, char const *, int);
int rc_apply_config(rc_handle *);
int rc_auth(rc_handle *, uint32_t, VALUE_PAIR *, VALUE_PAIR **, char *);
int rc_auth_proxy(rc_handle *, VALUE_PAIR *, VALUE_PAIR **, char *);
VALUE_PAIR *rc_avpair_add(rc_handle const *, VALUE_PAIR **, int, void const *, int, int);
int rc_avpair_assign(VALUE_PAIR *, void const *, int);
VALUE_PAIR *rc_avpair_copy(VALUE_PAIR *);
void rc_avpair_free(VALUE_PAIR *);
VALUE_PAIR *rc_avpair_gen(rc_handle const *, VALUE_PAIR *, unsigned char const *, int, int);
VALUE_PAIR *rc_avpair_get(VALUE_PAIR *, int, int);
void rc_avpair_get_attr(VALUE_PAIR *, unsigned *, unsigned *);
int rc_avpair_get_in6(VALUE_PAIR *, struct in6_addr *, unsigned *);
int rc_avpair_get_raw(VALUE_PAIR *, char **, unsigned *);
int rc_avpair_get_uint32(VALUE_PAIR *, uint32_t *);
void rc_avpair_insert(VALUE_PAIR **, VALUE_PAIR *, VALUE_PAIR *);
char *rc_avpair_log(rc_handle const *, VALUE_PAIR *, char *, size_t);
VALUE_PAIR *rc_avpair_new(rc_handle const *, int, void const *, int, int);
VALUE_PAIR *rc_avpair_next(VALUE_PAIR *);
int rc_avpair_parse(rc_handle const *, char const *, VALUE_PAIR **);
void rc_avpair_remove(VALUE_PAIR **, int, int);
int rc_avpair_tostr(rc_handle const *, VALUE_PAIR *, char *, int, char *, int);
void rc_buildreq(rc_handle const *, SEND_DATA *, int, char *, unsigned short, char *, int, int);
int rc_check(rc_handle *, char *, char *, unsigned short, char *);
int rc_check_tls(rc_handle *);
int rc_conf_int(rc_handle const *, char const *);
SERVER *rc_conf_srv(rc_handle const *, char const *);
char *rc_conf_str(rc_handle const *, char const *);
void rc_config_free(rc_handle *);
rc_handle *rc_config_init(rc_handle *);
void rc_destroy(rc_handle *);
DICT_ATTR *rc_dict_findattr(rc_handle const *, char const *);
DICT_VALUE *rc_dict_findval(rc_handle const *, char const *);
DICT_VENDOR *rc_dict_findvend(rc_handle const *, char const *);
void rc_dict_free(rc_handle *);
DICT_ATTR *rc_dict_getattr(rc_handle const *, int);
DICT_VALUE *rc_dict_getval(rc_handle const *, uint32_t, char const *);
DICT_VENDOR *rc_dict_getvend(rc_handle const *, int);
int rc_find_server_addr(rc_handle const *, char const *, struct addrinfo **, char *, rc_type);
rc_socket_type rc_get_socket_type(rc_handle *);
int rc_get_srcaddr(struct sockaddr *, const struct sockaddr *);
unsigned short rc_getport(int);
char *rc_mksid(void);
rc_handle *rc_new(void);
void rc_openlog(char const *);
int rc_own_hostname(char *, int);
rc_handle *rc_read_config(char const *);
int rc_read_dictionary(rc_handle *, char const *);
int rc_read_dictionary_from_buffer(rc_handle *, char const *, size_t);
int rc_send_server(rc_handle *, SEND_DATA *, char *, rc_type);
void rc_setdebug(int);
int rc_test_config(rc_handle *, char const *);
int rc_tls_fd(rc_handle *);
\fP
.fi
.RE
.SS ""
.PP
.sp
.PP
this structure directly. Use the rc_avpair_get_ functions.
.sp
.RS
.nf
\fB
struct rc_value_pair {
char \fIname\fP; // attribute name if known.
unsigned \fIattribute\fP; // attribute numeric value of type rc_attr_id.
rc_attr_type \fItype\fP; // attribute type.
uint32_t \fIlvalue\fP; // attribute value if type is PW_TYPE_INTEGER, PW_TYPE_DATE or PW_TYPE_IPADDR.
char \fIstrvalue\fP; // contains attribute value in other cases.
struct rc_value_pair *\fInext\fP;
char \fIpad\fP; // unused pad
};
\fP
.fi
.RE
.SS ""
.PP
.sp
.sp
.RS
.nf
\fB
struct send_data {
uint8_t \fIcode\fP; // RADIUS packet code.
uint8_t \fIseq_nbr\fP; // Packet sequence number.
char *\fIserver\fP; // Name/addrress of RADIUS server.
int \fIsvc_port\fP; // RADIUS protocol destination port.
char *\fIsecret\fP; // Shared secret of RADIUS server.
int \fItimeout\fP; // Session timeout in seconds.
int \fIretries\fP;
VALUE_PAIR *\fIsend_pairs\fP; // More a/v pairs to send.
VALUE_PAIR *\fIreceive_pairs\fP; // Where to place received a/v pairs.
};
\fP
.fi
.RE
.SS ""
.PP
.sp
.PP
this structure directly, it is included for backwards compatibility only. Several of its fields have been deprecated.
.sp
.RS
.nf
\fB
struct server {
int \fImax\fP;
char *\fIname\fP;
uint16_t \fIport\fP;
char *\fIsecret\fP;
double \fIdeadtime_ends\fP; // unused
};
\fP
.fi
.RE
.SH SEE ALSO
.PP
.nh
.ad l
\fIrc_aaa\fP(3), \fIrc_aaa_ctx\fP(3), \fIrc_aaa_ctx_free\fP(3), \fIrc_aaa_ctx_get_secret\fP(3), \fIrc_aaa_ctx_get_vector\fP(3), \fIrc_aaa_ctx_server\fP(3), \fIrc_acct\fP(3), \fIrc_acct_proxy\fP(3), \fIrc_add_config\fP(3), \fIrc_apply_config\fP(3), \fIrc_auth\fP(3), \fIrc_auth_proxy\fP(3), \fIrc_avpair_add\fP(3), \fIrc_avpair_assign\fP(3), \fIrc_avpair_copy\fP(3), \fIrc_avpair_free\fP(3), \fIrc_avpair_gen\fP(3), \fIrc_avpair_get\fP(3), \fIrc_avpair_get_attr\fP(3), \fIrc_avpair_get_in6\fP(3), \fIrc_avpair_get_raw\fP(3), \fIrc_avpair_get_uint32\fP(3), \fIrc_avpair_insert\fP(3), \fIrc_avpair_log\fP(3), \fIrc_avpair_new\fP(3), \fIrc_avpair_next\fP(3), \fIrc_avpair_parse\fP(3), \fIrc_avpair_remove\fP(3), \fIrc_avpair_tostr\fP(3), \fIrc_buildreq\fP(3), \fIrc_check\fP(3), \fIrc_check_tls\fP(3), \fIrc_conf_int\fP(3), \fIrc_conf_srv\fP(3), \fIrc_conf_str\fP(3), \fIrc_config_free\fP(3), \fIrc_config_init\fP(3), \fIrc_destroy\fP(3), \fIrc_dict_findattr\fP(3), \fIrc_dict_findval\fP(3), \fIrc_dict_findvend\fP(3), \fIrc_dict_free\fP(3), \fIrc_dict_getattr\fP(3), \fIrc_dict_getval\fP(3), \fIrc_dict_getvend\fP(3), \fIrc_find_server_addr\fP(3), \fIrc_get_socket_type\fP(3), \fIrc_get_srcaddr\fP(3), \fIrc_getport\fP(3), \fIrc_mksid\fP(3), \fIrc_new\fP(3), \fIrc_openlog\fP(3), \fIrc_own_hostname\fP(3), \fIrc_read_config\fP(3), \fIrc_read_dictionary\fP(3), \fIrc_read_dictionary_from_buffer\fP(3), \fIrc_send_server\fP(3), \fIrc_setdebug\fP(3), \fIrc_test_config\fP(3), \fIrc_tls_fd\fP(3)
.ad
.hy
|