mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-10 02:00:00 -04:00
Add ISC_LIST support for isc_netaddr_t
Add an `isc_netaddrlink_t` type wrapping an `isc_netaddr_t` and an `ISC_LINK`. This enable to build list of `isc_netaddr_t` without increasing the memory footprint of existing usages of `isc_netaddr_t` (which doesn't require to be linked).
This commit is contained in:
parent
a44bf5c5a4
commit
b4abc63dfa
2 changed files with 18 additions and 10 deletions
|
|
@ -20,6 +20,7 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/un.h>
|
||||
|
||||
#include <isc/list.h>
|
||||
#include <isc/net.h>
|
||||
#include <isc/types.h>
|
||||
|
||||
|
|
@ -36,6 +37,11 @@ struct isc_netaddr {
|
|||
uint32_t zone;
|
||||
};
|
||||
|
||||
struct isc_netaddrlink {
|
||||
isc_netaddr_t addr;
|
||||
ISC_LINK(isc_netaddrlink_t) link;
|
||||
};
|
||||
|
||||
struct isc_netprefix {
|
||||
isc_netaddr_t addr;
|
||||
unsigned int prefixlen;
|
||||
|
|
|
|||
|
|
@ -53,16 +53,18 @@ typedef struct isc_loop isc_loop_t; /*%< Event loop */
|
|||
typedef struct isc_mem isc_mem_t; /*%< Memory */
|
||||
typedef struct isc_mempool isc_mempool_t; /*%< Memory Pool */
|
||||
typedef struct isc_netaddr isc_netaddr_t; /*%< Net Address */
|
||||
typedef struct isc_netprefix isc_netprefix_t; /*%< Net Prefix */
|
||||
typedef struct isc_nmsocket isc_nmsocket_t; /*%< Network manager socket */
|
||||
typedef struct isc_nmhandle isc_nmhandle_t; /*%< Network manager handle */
|
||||
typedef struct isc_portset isc_portset_t; /*%< Port Set */
|
||||
typedef struct isc_quota isc_quota_t; /*%< Quota */
|
||||
typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */
|
||||
typedef struct isc_region isc_region_t; /*%< Region */
|
||||
typedef struct isc_rlevent isc_rlevent_t; /*%< Rate Limiter Event */
|
||||
typedef struct isc_signal isc_signal_t; /*%< Signal handler */
|
||||
typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */
|
||||
typedef struct isc_netaddrlink isc_netaddrlink_t; /*%< Linkable Net Address */
|
||||
typedef ISC_LIST(isc_netaddrlink_t) isc_netaddrlist_t; /*%< Net Address List */
|
||||
typedef struct isc_netprefix isc_netprefix_t; /*%< Net Prefix */
|
||||
typedef struct isc_nmsocket isc_nmsocket_t; /*%< Network manager socket */
|
||||
typedef struct isc_nmhandle isc_nmhandle_t; /*%< Network manager handle */
|
||||
typedef struct isc_portset isc_portset_t; /*%< Port Set */
|
||||
typedef struct isc_quota isc_quota_t; /*%< Quota */
|
||||
typedef struct isc_ratelimiter isc_ratelimiter_t; /*%< Rate Limiter */
|
||||
typedef struct isc_region isc_region_t; /*%< Region */
|
||||
typedef struct isc_rlevent isc_rlevent_t; /*%< Rate Limiter Event */
|
||||
typedef struct isc_signal isc_signal_t; /*%< Signal handler */
|
||||
typedef struct isc_sockaddr isc_sockaddr_t; /*%< Socket Address */
|
||||
typedef ISC_LIST(isc_sockaddr_t) isc_sockaddrlist_t; /*%< Socket Address List
|
||||
* */
|
||||
typedef struct isc_stats isc_stats_t; /*%< Statistics */
|
||||
|
|
|
|||
Loading…
Reference in a new issue