The FreeRADIUS server  $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Macros
pair.h File Reference

Server pair manipulation macros. More...

Go to the source code of this file.

Macros

#define pair_append_control(_attr, _da)   fr_pair_append_by_da(request->control_ctx, _attr, &request->control_pairs, _da)
 Allocate and append a fr_pair_t to the control list. More...
 
#define pair_append_reply(_attr, _da)   fr_pair_append_by_da(request->reply_ctx, _attr, &request->reply_pairs, _da)
 Allocate and append a fr_pair_t to reply list. More...
 
#define pair_append_request(_attr, _da)   fr_pair_append_by_da(request->request_ctx, _attr, &request->request_pairs, _da)
 Allocate and append a fr_pair_t to the request list. More...
 
#define pair_append_session_state(_attr, _da)   fr_pair_append_by_da(request->session_state_ctx, _attr, &request->session_state_pairs, _da)
 Allocate and append a fr_pair_t to session-state list. More...
 
#define pair_delete(_list, _pair_or_da)
 Delete one or move fr_pair_t in a list. More...
 
#define pair_delete_control(_pair_or_da)   pair_delete(&request->control_pairs, _pair_or_da)
 Delete a fr_pair_t in the control list. More...
 
#define pair_delete_reply(_pair_or_da)   pair_delete(&request->reply_pairs, _pair_or_da)
 Delete a fr_pair_t in the reply list. More...
 
#define pair_delete_request(_pair_or_da)   pair_delete(&request->request_pairs, _pair_or_da)
 Delete a fr_pair_t in the request list. More...
 
#define pair_delete_session_state(_pair_or_da)   pair_delete(&request->session_state_pairs, _pair_or_da)
 Delete a fr_pair_t in the session_state list. More...
 
#define pair_prepend_control(_attr, _da)   fr_pair_prepend_by_da(request->control_ctx, _attr, &request->control_pairs, _da)
 Allocate and prepend a fr_pair_t to the control list. More...
 
#define pair_prepend_reply(_attr, _da)   fr_pair_prepend_by_da(request->reply_ctx, _attr, &request->reply_pairs, _da)
 Allocate and prepend a fr_pair_t to reply list. More...
 
#define pair_prepend_request(_attr, _da)   fr_pair_prepend_by_da(request->request_ctx, _attr, &request->request_pairs, _da)
 Allocate and prepend a fr_pair_t to the request list. More...
 
#define pair_prepend_session_state(_attr, _da)   fr_pair_prepend_by_da(request->session_state_ctx, _attr, &request->session_state_pairs, _da)
 Allocate and prepend a fr_pair_t to session-state list. More...
 
#define pair_update_control(_attr, _da)   fr_pair_update_by_da_parent(request->control_ctx, _attr, _da)
 Return or allocate a fr_pair_t in the control list. More...
 
#define pair_update_reply(_attr, _da)   fr_pair_update_by_da_parent(request->reply_ctx, _attr, _da)
 Return or allocate a fr_pair_t in the reply list. More...
 
#define pair_update_request(_attr, _da)   fr_pair_update_by_da_parent(request->request_ctx, _attr, _da)
 Return or allocate a fr_pair_t in the request list. More...
 
#define pair_update_session_state(_attr, _da)   fr_pair_update_by_da_parent(request->session_state_ctx, _attr, _da)
 Return or allocate a fr_pair_t in the session_state list. More...
 

Detailed Description

Server pair manipulation macros.

Id
ce7a792dde8614223ebd161d0ef6f4b773ef23d5

Definition in file pair.h.

Macro Definition Documentation

◆ pair_append_control

#define pair_append_control (   _attr,
  _da 
)    fr_pair_append_by_da(request->control_ctx, _attr, &request->control_pairs, _da)

Allocate and append a fr_pair_t to the control list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 57 of file pair.h.

◆ pair_append_reply

#define pair_append_reply (   _attr,
  _da 
)    fr_pair_append_by_da(request->reply_ctx, _attr, &request->reply_pairs, _da)

Allocate and append a fr_pair_t to reply list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 47 of file pair.h.

◆ pair_append_request

#define pair_append_request (   _attr,
  _da 
)    fr_pair_append_by_da(request->request_ctx, _attr, &request->request_pairs, _da)

Allocate and append a fr_pair_t to the request list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 37 of file pair.h.

◆ pair_append_session_state

#define pair_append_session_state (   _attr,
  _da 
)    fr_pair_append_by_da(request->session_state_ctx, _attr, &request->session_state_pairs, _da)

Allocate and append a fr_pair_t to session-state list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 67 of file pair.h.

◆ pair_delete

#define pair_delete (   _list,
  _pair_or_da 
)
Value:
_Generic((_pair_or_da), \
fr_pair_t * : fr_pair_delete(_list, UNCONST(fr_pair_t *, _pair_or_da)) \
)
#define UNCONST(_type, _ptr)
Remove const qualification from a pointer.
Definition: build.h:165
Stores an attribute, a value and various bits of other data.
Definition: pair.h:68
int fr_pair_delete_by_da_nested(fr_pair_list_t *list, fr_dict_attr_t const *da)
Delete matching pairs from the specified list, and prune any empty branches.
Definition: pair.c:1708
fr_pair_t * fr_pair_delete(fr_pair_list_t *list, fr_pair_t *vp)
Remove fr_pair_t from a list and free.
Definition: pair.c:1819

Delete one or move fr_pair_t in a list.

Parameters
[in]_listto delete the pair from.
[in]_pair_or_daTo delete. May be a fr_pair_t or fr_dict_attr_t.

Definition at line 158 of file pair.h.

◆ pair_delete_control

#define pair_delete_control (   _pair_or_da)    pair_delete(&request->control_pairs, _pair_or_da)

Delete a fr_pair_t in the control list.

Parameters
[in]_pair_or_daTo delete. May be a fr_pair_t or fr_dict_attr_t.
Returns
  • >0 the number of pairs deleted.
  • 0 if no pairs were deleted.

Definition at line 190 of file pair.h.

◆ pair_delete_reply

#define pair_delete_reply (   _pair_or_da)    pair_delete(&request->reply_pairs, _pair_or_da)

Delete a fr_pair_t in the reply list.

Parameters
[in]_pair_or_daTo delete. May be a fr_pair_t or fr_dict_attr_t.
Returns
  • >0 the number of pairs deleted.
  • 0 if no pairs were deleted.

Definition at line 181 of file pair.h.

◆ pair_delete_request

#define pair_delete_request (   _pair_or_da)    pair_delete(&request->request_pairs, _pair_or_da)

Delete a fr_pair_t in the request list.

Parameters
[in]_pair_or_daTo delete. May be a fr_pair_t or fr_dict_attr_t.
Returns
  • >0 the number of pairs deleted.
  • 0 if no pairs were deleted.

Definition at line 172 of file pair.h.

◆ pair_delete_session_state

#define pair_delete_session_state (   _pair_or_da)    pair_delete(&request->session_state_pairs, _pair_or_da)

Delete a fr_pair_t in the session_state list.

Parameters
[in]_pair_or_daTo delete. May be a fr_pair_t or fr_dict_attr_t.
Returns
  • >0 the number of pairs deleted.
  • 0 if no pairs were deleted.

Definition at line 199 of file pair.h.

◆ pair_prepend_control

#define pair_prepend_control (   _attr,
  _da 
)    fr_pair_prepend_by_da(request->control_ctx, _attr, &request->control_pairs, _da)

Allocate and prepend a fr_pair_t to the control list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 97 of file pair.h.

◆ pair_prepend_reply

#define pair_prepend_reply (   _attr,
  _da 
)    fr_pair_prepend_by_da(request->reply_ctx, _attr, &request->reply_pairs, _da)

Allocate and prepend a fr_pair_t to reply list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 87 of file pair.h.

◆ pair_prepend_request

#define pair_prepend_request (   _attr,
  _da 
)    fr_pair_prepend_by_da(request->request_ctx, _attr, &request->request_pairs, _da)

Allocate and prepend a fr_pair_t to the request list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 77 of file pair.h.

◆ pair_prepend_session_state

#define pair_prepend_session_state (   _attr,
  _da 
)    fr_pair_prepend_by_da(request->session_state_ctx, _attr, &request->session_state_pairs, _da)

Allocate and prepend a fr_pair_t to session-state list.

Parameters
[in]_attrallocated.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 0 on success.
  • -1 on failure.

Definition at line 107 of file pair.h.

◆ pair_update_control

#define pair_update_control (   _attr,
  _da 
)    fr_pair_update_by_da_parent(request->control_ctx, _attr, _da)

Return or allocate a fr_pair_t in the control list.

Parameters
[in]_attrallocated or found.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 1 if attribute already existed.
  • 0 if we allocated a new attribute.
  • -1 on failure.

Definition at line 140 of file pair.h.

◆ pair_update_reply

#define pair_update_reply (   _attr,
  _da 
)    fr_pair_update_by_da_parent(request->reply_ctx, _attr, _da)

Return or allocate a fr_pair_t in the reply list.

Parameters
[in]_attrallocated or found.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 1 if attribute already existed.
  • 0 if we allocated a new attribute.
  • -1 on failure.

Definition at line 129 of file pair.h.

◆ pair_update_request

#define pair_update_request (   _attr,
  _da 
)    fr_pair_update_by_da_parent(request->request_ctx, _attr, _da)

Return or allocate a fr_pair_t in the request list.

Parameters
[in]_attrallocated or found.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 1 if attribute already existed.
  • 0 if we allocated a new attribute.
  • -1 on failure.

Definition at line 118 of file pair.h.

◆ pair_update_session_state

#define pair_update_session_state (   _attr,
  _da 
)    fr_pair_update_by_da_parent(request->session_state_ctx, _attr, _da)

Return or allocate a fr_pair_t in the session_state list.

Parameters
[in]_attrallocated or found.
[in]_dafr_dict_attr_t of the pair to be found or allocated.
Returns
  • 1 if attribute already existed.
  • 0 if we allocated a new attribute.
  • -1 on failure.

Definition at line 151 of file pair.h.