The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Data Structures | Macros | Typedefs | Enumerations | Functions
conduit.h File Reference

API to provide distinct communication conduits for the radmin protocol. More...

+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  fr_conduit_hdr_t
 
struct  fr_cs_buffer_t
 

Macros

#define COMMAND_BUFFER_SIZE   (1024)
 
#define FR_CONDUIT_MAGIC   (0xf7eead17)
 

Typedefs

typedef enum fr_conduit_notify_t fr_conduit_notify_t
 
typedef enum fr_conduit_origin_t fr_conduit_origin_t
 
typedef enum fr_conduit_result_t fr_conduit_result_t
 
typedef enum fr_conduit_type_t fr_conduit_type_t
 

Enumerations

enum  fr_conduit_notify_t {
  FR_NOTIFY_NONE = 0 ,
  FR_NOTIFY_BUFFERED ,
  FR_NOTIFY_UNBUFFERED
}
 
enum  fr_conduit_origin_t {
  FR_ORIGIN_SIGNAL = 0 ,
  FR_ORIGIN_DEBUG ,
  FR_ORIGIN_WORKER
}
 
enum  fr_conduit_result_t {
  FR_CONDUIT_FAIL = 0 ,
  FR_CONDUIT_PARTIAL ,
  FR_CONDUIT_SUCCESS
}
 
enum  fr_conduit_type_t {
  FR_CONDUIT_STDIN = 0 ,
  FR_CONDUIT_STDOUT ,
  FR_CONDUIT_STDERR ,
  FR_CONDUIT_CMD_STATUS ,
  FR_CONDUIT_INIT_ACK ,
  FR_CONDUIT_AUTH_CHALLENGE ,
  FR_CONDUIT_AUTH_RESPONSE ,
  FR_CONDUIT_NOTIFY ,
  FR_CONDUIT_HELP ,
  FR_CONDUIT_COMPLETE
}
 

Functions

ssize_t fr_conduit_read (int fd, fr_conduit_type_t *pconduit, void *buffer, size_t buflen)
 
ssize_t fr_conduit_read_async (int fd, fr_conduit_type_t *pconduit, void *inbuf, size_t buflen, size_t *leftover, bool *want_more)
 
ssize_t fr_conduit_write (int fd, fr_conduit_type_t conduit, void const *buffer, size_t buflen)
 

Detailed Description

API to provide distinct communication conduits for the radmin protocol.

Id
83244952e65bb7a5e416355aaf316792ea5b4bfb

Definition in file conduit.h.


Data Structure Documentation

◆ fr_conduit_hdr_t

struct fr_conduit_hdr_t

Definition at line 75 of file conduit.h.

Data Fields
uint16_t conduit
uint32_t length
uint16_t origin

◆ fr_cs_buffer_t

struct fr_cs_buffer_t

Definition at line 67 of file conduit.h.

Data Fields
int auth
char buffer[COMMAND_BUFFER_SIZE]
int mode
ssize_t next
ssize_t offset

Macro Definition Documentation

◆ COMMAND_BUFFER_SIZE

#define COMMAND_BUFFER_SIZE   (1024)

Definition at line 65 of file conduit.h.

◆ FR_CONDUIT_MAGIC

#define FR_CONDUIT_MAGIC   (0xf7eead17)

Definition at line 32 of file conduit.h.

Typedef Documentation

◆ fr_conduit_notify_t

◆ fr_conduit_origin_t

◆ fr_conduit_result_t

◆ fr_conduit_type_t

Enumeration Type Documentation

◆ fr_conduit_notify_t

Enumerator
FR_NOTIFY_NONE 
FR_NOTIFY_BUFFERED 
FR_NOTIFY_UNBUFFERED 

Definition at line 59 of file conduit.h.

◆ fr_conduit_origin_t

Enumerator
FR_ORIGIN_SIGNAL 
FR_ORIGIN_DEBUG 
FR_ORIGIN_WORKER 

Definition at line 47 of file conduit.h.

◆ fr_conduit_result_t

Enumerator
FR_CONDUIT_FAIL 
FR_CONDUIT_PARTIAL 
FR_CONDUIT_SUCCESS 

Definition at line 53 of file conduit.h.

◆ fr_conduit_type_t

Enumerator
FR_CONDUIT_STDIN 
FR_CONDUIT_STDOUT 
FR_CONDUIT_STDERR 
FR_CONDUIT_CMD_STATUS 
FR_CONDUIT_INIT_ACK 
FR_CONDUIT_AUTH_CHALLENGE 
FR_CONDUIT_AUTH_RESPONSE 
FR_CONDUIT_NOTIFY 
FR_CONDUIT_HELP 
FR_CONDUIT_COMPLETE 

Definition at line 34 of file conduit.h.

Function Documentation

◆ fr_conduit_read()

ssize_t fr_conduit_read ( int  fd,
fr_conduit_type_t pconduit,
void *  buffer,
size_t  buflen 
)

Definition at line 143 of file conduit.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fr_conduit_read_async()

ssize_t fr_conduit_read_async ( int  fd,
fr_conduit_type_t pconduit,
void *  inbuf,
size_t  buflen,
size_t leftover,
bool want_more 
)

Definition at line 72 of file conduit.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fr_conduit_write()

ssize_t fr_conduit_write ( int  fd,
fr_conduit_type_t  conduit,
void const *  buffer,
size_t  buflen 
)

Definition at line 225 of file conduit.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: