50#include "nl-default.h"
52#include <netlink/xfrm/lifetime.h>
61 if (ltime->refcnt != 1)
63 fprintf(stderr,
"BUG: %s:%d\n", __FILE__, __LINE__);
128 if (ltime->refcnt == 1)
129 ltime_cfg_destroy(ltime);
141 return ltime->refcnt > 1;
162 if ((a->soft_byte_limit != b->soft_byte_limit) ||
163 (a->soft_packet_limit != b->soft_packet_limit) ||
164 (a->hard_byte_limit != b->hard_byte_limit) ||
165 (a->hard_packet_limit != b->hard_packet_limit) ||
166 (a->soft_add_expires_seconds != b->soft_add_expires_seconds) ||
167 (a->hard_add_expires_seconds != b->hard_add_expires_seconds) ||
168 (a->soft_use_expires_seconds != b->soft_use_expires_seconds) ||
169 (a->hard_use_expires_seconds != b->hard_use_expires_seconds))
182unsigned long long xfrmnl_ltime_cfg_get_soft_bytelimit (
struct xfrmnl_ltime_cfg* ltime)
184 return ltime->soft_byte_limit;
187int xfrmnl_ltime_cfg_set_soft_bytelimit (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long soft_byte_limit)
189 ltime->soft_byte_limit = soft_byte_limit;
194unsigned long long xfrmnl_ltime_cfg_get_hard_bytelimit (
struct xfrmnl_ltime_cfg* ltime)
196 return ltime->hard_byte_limit;
199int xfrmnl_ltime_cfg_set_hard_bytelimit (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long hard_byte_limit)
201 ltime->hard_byte_limit = hard_byte_limit;
206unsigned long long xfrmnl_ltime_cfg_get_soft_packetlimit (
struct xfrmnl_ltime_cfg* ltime)
208 return ltime->soft_packet_limit;
211int xfrmnl_ltime_cfg_set_soft_packetlimit (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long soft_packet_limit)
213 ltime->soft_packet_limit = soft_packet_limit;
218unsigned long long xfrmnl_ltime_cfg_get_hard_packetlimit (
struct xfrmnl_ltime_cfg* ltime)
220 return ltime->hard_packet_limit;
223int xfrmnl_ltime_cfg_set_hard_packetlimit (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long hard_packet_limit)
225 ltime->hard_packet_limit = hard_packet_limit;
230unsigned long long xfrmnl_ltime_cfg_get_soft_addexpires (
struct xfrmnl_ltime_cfg* ltime)
232 return ltime->soft_add_expires_seconds;
235int xfrmnl_ltime_cfg_set_soft_addexpires (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long soft_add_expires_seconds)
237 ltime->soft_add_expires_seconds = soft_add_expires_seconds;
242unsigned long long xfrmnl_ltime_cfg_get_hard_addexpires (
struct xfrmnl_ltime_cfg* ltime)
244 return ltime->hard_add_expires_seconds;
247int xfrmnl_ltime_cfg_set_hard_addexpires (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long hard_add_expires_seconds)
249 ltime->hard_add_expires_seconds = hard_add_expires_seconds;
254unsigned long long xfrmnl_ltime_cfg_get_soft_useexpires (
struct xfrmnl_ltime_cfg* ltime)
256 return ltime->soft_use_expires_seconds;
259int xfrmnl_ltime_cfg_set_soft_useexpires (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long soft_use_expires_seconds)
261 ltime->soft_use_expires_seconds = soft_use_expires_seconds;
266unsigned long long xfrmnl_ltime_cfg_get_hard_useexpires (
struct xfrmnl_ltime_cfg* ltime)
268 return ltime->hard_use_expires_seconds;
271int xfrmnl_ltime_cfg_set_hard_useexpires (
struct xfrmnl_ltime_cfg* ltime,
unsigned long long hard_use_expires_seconds)
273 ltime->hard_use_expires_seconds = hard_use_expires_seconds;
struct xfrmnl_ltime_cfg * xfrmnl_ltime_cfg_alloc()
Allocate new lifetime config object.
int xfrmnl_ltime_cfg_cmp(struct xfrmnl_ltime_cfg *a, struct xfrmnl_ltime_cfg *b)
Compares two lifetime config objects.
struct xfrmnl_ltime_cfg * xfrmnl_ltime_cfg_clone(struct xfrmnl_ltime_cfg *ltime)
Clone existing lifetime config object.
int xfrmnl_ltime_cfg_shared(struct xfrmnl_ltime_cfg *ltime)
Check whether an lifetime config object is shared.