The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
client_priv.h
Go to the documentation of this file.
1 #pragma once
2 /*
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
16  */
17 
18 /**
19  * $Id: c6758e799cad76fb434370102ddcaa1131bf4618 $
20  *
21  * @file protocols/radius/client_priv.h
22  * @brief RADIUS bio handlers for outgoing RADIUS private client sockets
23  *
24  * @copyright 2024 Network RADIUS SAS (legal@networkradius.com)
25  */
26 RCSIDH(radius_client_priv_h, "$Id: c6758e799cad76fb434370102ddcaa1131bf4618 $")
27 
28 #include <freeradius-devel/radius/client.h>
29 #include <freeradius-devel/radius/id.h>
30 
31 /*
32  * Client connected data structure
33  */
34 typedef struct {
36 
38 
40 
43 
47 
49 
50  /*
51  * @todo - perhaps we want to have the read() routine allocate memory for the packet? Or the
52  * verify routine can do that?
53  */
54  uint8_t buffer[4096]; //!< temporary read buffer
56 
57 fr_radius_client_fd_bio_t *fr_radius_client_fd_bio_alloc(TALLOC_CTX *ctx, size_t read_size, fr_radius_client_config_t *cfg, fr_bio_fd_config_t const *fd_cfg) CC_HINT(nonnull);
58 
60 
61 int fr_radius_client_fd_bio_read(fr_bio_packet_t *bio, void **request_ctx_p, fr_packet_t **packet_p, TALLOC_CTX *out_ctx, fr_pair_list_t *out);
static int const char char buffer[256]
Definition: acutest.h:574
Definition: base.h:103
#define RCSIDH(h, id)
Definition: build.h:445
fr_radius_client_fd_bio_t * fr_radius_client_fd_bio_alloc(TALLOC_CTX *ctx, size_t read_size, fr_radius_client_config_t *cfg, fr_bio_fd_config_t const *fd_cfg)
Definition: client.c:61
fr_radius_code_id_t codes
Definition: client_priv.h:39
fr_bio_packet_t common
Definition: client_priv.h:35
int fr_radius_client_fd_bio_read(fr_bio_packet_t *bio, void **request_ctx_p, fr_packet_t **packet_p, TALLOC_CTX *out_ctx, fr_pair_list_t *out)
fr_bio_fd_info_t const * fd_info
Definition: client_priv.h:41
fr_radius_client_config_t cfg
Definition: client_priv.h:37
int fr_radius_client_fd_bio_write(fr_radius_client_fd_bio_t *my, void *request_ctx, fr_packet_t *packet, fr_pair_list_t *list)
Definition: client.c:119
fr_radius_client_bio_info_t info
Definition: client_priv.h:48
Configuration for sockets.
Definition: fd.h:76
Run-time status of the socket.
Definition: fd.h:107
unsigned char uint8_t
Definition: merged_model.c:30
fr_radius_id_t * fr_radius_code_id_t[FR_RADIUS_CODE_MAX]
Definition: id.h:32
static fr_bio_t * bio
Definition: radclient-ng.c:86
#define request_ctx
Talloc ctx for allocating request pairs under.
Definition: request.h:94
Holds information necessary for binding or connecting to a socket.
Definition: socket.h:63
int nonnull(2, 5))
static size_t char ** out
Definition: value.h:984