From 930820483fbb3b8ac1097a1a275e9f86852c9a02 Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Thu, 4 May 2017 12:49:53 -0600 Subject: [PATCH] Subnamespace media functions Issue #47 --- examples/status.c | 16 ++++++++-------- src/libifconfig.h | 11 ++++++----- src/libifconfig_media.c | 18 +++++------------- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/examples/status.c b/examples/status.c index 06d247a..cd5f0ca 100644 --- a/examples/status.c +++ b/examples/status.c @@ -362,18 +362,18 @@ print_media(ifconfig_handle_t *lifh, struct ifaddrs *ifa) struct ifmediareq *ifmr; char opts[80]; - if (ifconfig_get_media(lifh, ifa->ifa_name, &ifmr) != 0) { + if (ifconfig_media_get_mediareq(lifh, ifa->ifa_name, &ifmr) != 0) { if (ifconfig_err_errtype(lifh) != OK) err(1, "Failed to get media info"); else return; /* Interface doesn't support media info */ } - printf("\tmedia: %s %s", ifconfig_get_media_type(ifmr->ifm_current), - ifconfig_get_media_subtype(ifmr->ifm_current)); + printf("\tmedia: %s %s", ifconfig_media_get_type(ifmr->ifm_current), + ifconfig_media_get_subtype(ifmr->ifm_current)); if (ifmr->ifm_active != ifmr->ifm_current) { - printf(" (%s", ifconfig_get_media_subtype(ifmr->ifm_active)); - ifconfig_get_media_options_string(ifmr->ifm_active, opts, + printf(" (%s", ifconfig_media_get_subtype(ifmr->ifm_active)); + ifconfig_media_get_options_string(ifmr->ifm_active, opts, sizeof(opts)); if (opts[0] != '\0') printf(" <%s>)\n", opts); @@ -384,14 +384,14 @@ print_media(ifconfig_handle_t *lifh, struct ifaddrs *ifa) if (ifmr->ifm_status & IFM_AVALID) { printf("\tstatus: %s\n", - ifconfig_get_media_status(ifmr)); + ifconfig_media_get_status(ifmr)); } printf("\tsupported media:\n"); for (i=0; i < ifmr->ifm_count; i++) { printf("\t\tmedia %s", - ifconfig_get_media_subtype(ifmr->ifm_ulist[i])); - ifconfig_get_media_options_string(ifmr->ifm_ulist[i], opts, + ifconfig_media_get_subtype(ifmr->ifm_ulist[i])); + ifconfig_media_get_options_string(ifmr->ifm_ulist[i], opts, sizeof(opts)); if (opts[0] != '\0') printf(" mediaopt %s\n", opts); diff --git a/src/libifconfig.h b/src/libifconfig.h index 47d760e..bb879f9 100644 --- a/src/libifconfig.h +++ b/src/libifconfig.h @@ -175,18 +175,19 @@ int ifconfig_get_groups(ifconfig_handle_t *h, const char *name, struct ifgroupreq *ifgr); int ifconfig_get_ifstatus(ifconfig_handle_t *h, const char *name, struct ifstat *stat); + /** Retrieve the interface media information * @param h An open ifconfig state object * @param name The interface name * @param ifmr Return argument. The caller is responsible for freeing it * @return 0 on success, nonzero on failure */ -int ifconfig_get_media(ifconfig_handle_t *h, const char *name, +int ifconfig_media_get_mediareq(ifconfig_handle_t *h, const char *name, struct ifmediareq **ifmr); -const char* ifconfig_get_media_type(int ifmw); -const char* ifconfig_get_media_subtype(int ifmw); -const char* ifconfig_get_media_status(const struct ifmediareq *ifmr); -void ifconfig_get_media_options_string(int ifmw, char *buf, size_t buflen); +const char* ifconfig_media_get_type(int ifmw); +const char* ifconfig_media_get_subtype(int ifmw); +const char* ifconfig_media_get_status(const struct ifmediareq *ifmr); +void ifconfig_media_get_options_string(int ifmw, char *buf, size_t buflen); int ifconfig_carp_get_info(ifconfig_handle_t *h, const char *name, struct carpreq *carpr, int ncarpr); diff --git a/src/libifconfig_media.c b/src/libifconfig_media.c index c2b6456..41f7f9d 100644 --- a/src/libifconfig_media.c +++ b/src/libifconfig_media.c @@ -54,14 +54,6 @@ #include "libifconfig_internal.h" -/*static void domediaopt(const char *, int, int);*/ -/*static int get_media_subtype(int, const char *);*/ -/*static int get_media_mode(int, const char *);*/ -/*static int get_media_options(int, const char *);*/ -/*static int lookup_media_word(struct ifmedia_description *, const char *);*/ -/*static void print_media_word(int, int);*/ -/*static void print_media_word_ifconfig(int);*/ - static struct ifmedia_description *get_toptype_desc(int); static struct ifmedia_type_to_subtype *get_toptype_ttos(int); static struct ifmedia_description *get_subtype_desc(int, @@ -475,7 +467,7 @@ static struct ifmedia_description *get_mode_desc(int ifmw, #endif const char* -ifconfig_get_media_type(int ifmw) +ifconfig_media_get_type(int ifmw) { struct ifmedia_description *desc; /*int seen_option = 0, i;*/ @@ -490,7 +482,7 @@ ifconfig_get_media_type(int ifmw) } const char* -ifconfig_get_media_subtype(int ifmw) +ifconfig_media_get_subtype(int ifmw) { struct ifmedia_description *desc; struct ifmedia_type_to_subtype *ttos; @@ -608,7 +600,7 @@ struct _ifconfig_media_status { }; int -ifconfig_get_media(ifconfig_handle_t *h, const char *name, +ifconfig_media_get_mediareq(ifconfig_handle_t *h, const char *name, struct ifmediareq **ifmr) { struct _ifconfig_media_status *ms, *ms2; @@ -668,7 +660,7 @@ ifconfig_get_media(ifconfig_handle_t *h, const char *name, } const char* -ifconfig_get_media_status(const struct ifmediareq *ifmr) +ifconfig_media_get_status(const struct ifmediareq *ifmr) { switch (IFM_TYPE(ifmr->ifm_active)) { case IFM_ETHER: @@ -703,7 +695,7 @@ ifconfig_get_media_status(const struct ifmediareq *ifmr) } void -ifconfig_get_media_options_string(int ifmw, char *buf, size_t buflen) +ifconfig_media_get_options_string(int ifmw, char *buf, size_t buflen) { struct ifmedia_type_to_subtype *ttos; struct ifmedia_description *desc;