ziflist (3) - Linux Manuals
ziflist: List of network interfaces available on system
NAME
ziflist - List of network interfaces available on system
SYNOPSIS
// Get a list of network interfaces currently defined on the system CZMQ_EXPORT ziflist_t * ziflist_new (); // Destroy a ziflist instance CZMQ_EXPORT void ziflist_destroy (ziflist_t **self_p); // Print properties of the ziflist object. CZMQ_EXPORT void ziflist_print (ziflist_t *self); // 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); // Self test of this class. CZMQ_EXPORT void ziflist_test (bool verbose);
DESCRIPTION
The ziflist class takes a snapshot of the network interfaces that the system currently supports (this can change arbitrarily, especially on mobile devices). The caller can then access the network interface information using 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);
AUTHORS
The czmq manual was written by the authors in the AUTHORS file.
RESOURCES
Main web site: m[blue]m[]
Report bugs to the email <m[blue]zeromq-dev [at] lists.zeromq.orgm[][1]>
COPYRIGHT
Copyright (c) 1991-2012 iMatix Corporation -- http://www.imatix.com Copyright other 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 License, 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 [at] lists.zeromq.org
- mailto:zeromq-dev [at] lists.zeromq.org