File: radcli.h.3

package info (click to toggle)
radcli 1.2.11-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,768 kB
  • sloc: ansic: 6,089; sh: 767; makefile: 190; perl: 110
file content (146 lines) | stat: -rw-r--r-- 7,322 bytes parent folder | download
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