ZIFLIST(3) CZMQ Manual ZIFLIST(3) NAME ziflist - Class for list of network interfaces available on system SYNOPSIS // This is a stable class, and may not change except for emergencies. It // is provided in stable builds. // This class has draft methods, which may change over time. They are not // in stable releases, by default. Use --enable-drafts to enable. // Get a list of network interfaces currently defined on the system CZMQ_EXPORT ziflist_t * ziflist_new (void); // Destroy a ziflist instance CZMQ_EXPORT void ziflist_destroy (ziflist_t **self_p); // Reload network interfaces from system CZMQ_EXPORT void ziflist_reload (ziflist_t *self); // Return the number of network interfaces on system CZMQ_EXPORT size_t ziflist_size (ziflist_t *self); // Get first network interface, return NULL if there are none CZMQ_EXPORT const char * ziflist_first (ziflist_t *self); // Get next network interface, return NULL if we hit the last one CZMQ_EXPORT const char * ziflist_next (ziflist_t *self); // Return the current interface IP address as a printable string CZMQ_EXPORT const char * ziflist_address (ziflist_t *self); // Return the current interface broadcast address as a printable string CZMQ_EXPORT const char * ziflist_broadcast (ziflist_t *self); // Return the current interface network mask as a printable string CZMQ_EXPORT const char * ziflist_netmask (ziflist_t *self); // Return the list of interfaces. CZMQ_EXPORT void ziflist_print (ziflist_t *self); // Self test of this class. CZMQ_EXPORT void ziflist_test (bool verbose); #ifdef CZMQ_BUILD_DRAFT_API // *** Draft method, for development use, may change without warning *** // Get a list of network interfaces currently defined on the system // Includes IPv6 interfaces // Caller owns return value and must destroy it when done. CZMQ_EXPORT ziflist_t * ziflist_new_ipv6 (void); // *** Draft method, for development use, may change without warning *** // Reload network interfaces from system, including IPv6 CZMQ_EXPORT void ziflist_reload_ipv6 (ziflist_t *self); // *** Draft method, for development use, may change without warning *** // Return true if the current interface uses IPv6 CZMQ_EXPORT bool ziflist_is_ipv6 (ziflist_t *self); #endif // CZMQ_BUILD_DRAFT_API Please add '@interface' section in './../src/ziflist.c'. DESCRIPTION The ziflist class takes a snapshot of the network interfaces that the sys- tem currently supports (this can change arbitrarily, especially on mobile devices). The caller can then access the network interface information us- ing an iterator that works like zlistx. Only stores those interfaces with broadcast capability, and ignores the loopback interface. Please add @discuss section in ./../src/ziflist.c. EXAMPLE From ziflist_test method. ziflist_t *iflist = ziflist_new (); assert (iflist); size_t items = ziflist_size (iflist); if (verbose) { printf ("ziflist: interfaces=%zu\n", ziflist_size (iflist)); const char *name = ziflist_first (iflist); while (name) { printf (" - name=%s address=%s netmask=%s broadcast=%s\n", name, ziflist_address (iflist), ziflist_netmask (iflist), ziflist_broadcast (iflist)); name = ziflist_next (iflist); } } ziflist_reload (iflist); assert (items == ziflist_size (iflist)); ziflist_destroy (&iflist); #if defined (__WINDOWS__) zsys_shutdown(); #endif AUTHORS The czmq manual was written by the authors in the AUTHORS file. RESOURCES Main web site: Report bugs to the email <zeromq-dev@lists.zeromq.org[1]> COPYRIGHT Copyright (c) the Contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org. This Source Code Form is subject to the terms of the Mozilla Public Li- cense, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution. NOTES 1. zeromq-dev@lists.zeromq.org mailto:zeromq-dev@lists.zeromq.org CZMQ 4.2.1 08/27/2026 ZIFLIST(3)
NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | AUTHORS | RESOURCES | COPYRIGHT | NOTES
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ziflist&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
