The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Functions
proto.c File Reference

Protocol encoder/decoder support functions. More...

#include <freeradius-devel/util/pair.h>
#include <freeradius-devel/util/print.h>
#include <freeradius-devel/util/proto.h>
+ Include dependency graph for proto.c:

Go to the source code of this file.

Functions

void fr_proto_da_stack_build (fr_da_stack_t *stack, fr_dict_attr_t const *da)
 Build a complete DA stack from the da back to the root. More...
 
void fr_proto_da_stack_build_partial (fr_da_stack_t *stack, fr_dict_attr_t const *parent, fr_dict_attr_t const *da)
 Complete the DA stack for a child attribute. More...
 
void fr_proto_da_stack_print (char const *file, int line, char const *func, fr_da_stack_t *da_stack, unsigned int depth)
 
void * fr_proto_next_encodable (fr_dlist_head_t *list, void *current, void *uctx)
 Implements the default iterator to encode pairs belonging to a specific dictionary that are not internal. More...
 
void fr_proto_print (char const *file, int line, char const *fmt,...)
 
void fr_proto_print_hex_data (char const *file, int line, uint8_t const *data, size_t data_len, char const *fmt,...)
 
void fr_proto_print_hex_marker (char const *file, int line, uint8_t const *data, size_t data_len, ssize_t slen, char const *fmt,...)
 

Detailed Description

Protocol encoder/decoder support functions.

Definition in file proto.c.

Function Documentation

◆ fr_proto_da_stack_build()

void fr_proto_da_stack_build ( fr_da_stack_t stack,
fr_dict_attr_t const *  da 
)

Build a complete DA stack from the da back to the root.

Parameters
[out]stackto populate.
[in]dato build the stack for.

Definition at line 118 of file proto.c.

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

◆ fr_proto_da_stack_build_partial()

void fr_proto_da_stack_build_partial ( fr_da_stack_t stack,
fr_dict_attr_t const *  parent,
fr_dict_attr_t const *  da 
)

Complete the DA stack for a child attribute.

Parameters
[out]stackto populate.
[in]parentto populate from.
[in]dato populate to.

Definition at line 159 of file proto.c.

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

◆ fr_proto_da_stack_print()

void fr_proto_da_stack_print ( char const *  file,
int  line,
char const *  func,
fr_da_stack_t da_stack,
unsigned int  depth 
)

Definition at line 73 of file proto.c.

+ Here is the call graph for this function:

◆ fr_proto_next_encodable()

void* fr_proto_next_encodable ( fr_dlist_head_t list,
void *  current,
void *  uctx 
)

Implements the default iterator to encode pairs belonging to a specific dictionary that are not internal.

Parameters
[in]listto iterate over.
[in]currentThe fr_pair_t cursor->current. Will be advanced and checked to see if it matches the specified fr_dict_t.
[in]uctxThe fr_dict_t to search for.
Returns
  • Next matching fr_pair_t.
  • NULL if not more matching fr_pair_ts could be found.

Definition at line 100 of file proto.c.

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

◆ fr_proto_print()

void fr_proto_print ( char const *  file,
int  line,
char const *  fmt,
  ... 
)

Definition at line 27 of file proto.c.

+ Here is the call graph for this function:

◆ fr_proto_print_hex_data()

void fr_proto_print_hex_data ( char const *  file,
int  line,
uint8_t const *  data,
size_t  data_len,
char const *  fmt,
  ... 
)

Definition at line 42 of file proto.c.

+ Here is the call graph for this function:

◆ fr_proto_print_hex_marker()

void fr_proto_print_hex_marker ( char const *  file,
int  line,
uint8_t const *  data,
size_t  data_len,
ssize_t  slen,
char const *  fmt,
  ... 
)

Definition at line 57 of file proto.c.

+ Here is the call graph for this function: