diff options
author | Vijay Kumar Banerjee <vijay@rtems.org> | 2021-02-24 19:06:38 -0700 |
---|---|---|
committer | Vijay Kumar Banerjee <vijay@rtems.org> | 2021-04-07 16:15:38 -0600 |
commit | 2a13ad389af61429a184e1cfac53c69eb673ad76 (patch) | |
tree | 035aca3f29ec996074a55d22b028f29c1d0cc4ea /cpukit/libnetworking/rtems/rtems_mii_ioctl.c | |
parent | cpukit: Move ftpfs from libnetworking to libfs (diff) | |
download | rtems-2a13ad389af61429a184e1cfac53c69eb673ad76.tar.bz2 |
cpukit: Remove libnetworking
Update #3850
Diffstat (limited to 'cpukit/libnetworking/rtems/rtems_mii_ioctl.c')
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_mii_ioctl.c | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/cpukit/libnetworking/rtems/rtems_mii_ioctl.c b/cpukit/libnetworking/rtems/rtems_mii_ioctl.c deleted file mode 100644 index 2559f4b3c7..0000000000 --- a/cpukit/libnetworking/rtems/rtems_mii_ioctl.c +++ /dev/null @@ -1,172 +0,0 @@ -#include <machine/rtems-bsd-kernel-space.h> - -/* Simple (default) implementation for SIOCGIFMEDIA/SIOCSIFMEDIA - * to be used by ethernet drivers [from their ioctl]. - * - * USERSPACE UTILITIES - * - * NOTE: This much simpler than the BSD ifmedia API - */ - -/* - * Authorship - * ---------- - * This software was created by - * Till Straumann <strauman@slac.stanford.edu>, 2005, - * Stanford Linear Accelerator Center, Stanford University. - * - * Acknowledgement of sponsorship - * ------------------------------ - * This software was produced by - * the Stanford Linear Accelerator Center, Stanford University, - * under Contract DE-AC03-76SFO0515 with the Department of Energy. - * - * Government disclaimer of liability - * ---------------------------------- - * Neither the United States nor the United States Department of Energy, - * nor any of their employees, makes any warranty, express or implied, or - * assumes any legal liability or responsibility for the accuracy, - * completeness, or usefulness of any data, apparatus, product, or process - * disclosed, or represents that its use would not infringe privately owned - * rights. - * - * Stanford disclaimer of liability - * -------------------------------- - * Stanford University makes no representations or warranties, express or - * implied, nor assumes any liability for the use of this software. - * - * Stanford disclaimer of copyright - * -------------------------------- - * Stanford University, owner of the copyright, hereby disclaims its - * copyright and all other rights in this software. Hence, anyone may - * freely use it for any purpose without restriction. - * - * Maintenance of notices - * ---------------------- - * In the interest of clarity regarding the origin and status of this - * SLAC software, this and all the preceding Stanford University notices - * are to remain affixed to any copy or derivative of this software made - * or distributed by the recipient and are to be affixed to any copy of - * software made or distributed by the recipient that contains a copy or - * derivative of this software. - * - * ------------------ SLAC Software Notices, Set 4 OTT.002a, 2004 FEB 03 - */ - -#include <rtems.h> -#include <inttypes.h> - -#undef _KERNEL - -#include <rtems/rtems_mii_ioctl.h> - -#include <stdlib.h> -#include <errno.h> -#include <stdio.h> -#include <string.h> -#include <ctype.h> - -static struct ifmedia_description shared_media_strings[] = - IFM_SUBTYPE_SHARED_DESCRIPTIONS; -static struct ifmedia_description ethern_media_strings[] = - IFM_SUBTYPE_ETHERNET_DESCRIPTIONS; -static struct ifmedia_description eth_al_media_strings[] = - IFM_SUBTYPE_ETHERNET_ALIASES; - -static const char * -find_desc (int tag, struct ifmedia_description *list) -{ - while (list->ifmt_string && tag != list->ifmt_word) - list++; - return list->ifmt_string; -} - -#define WHATPRINT(buf,sz,fmt...) \ - ( (sz) > 0 ? snprintf((buf),(sz),fmt) : fprintf((buf) ? (FILE*)(buf) : stdout, fmt) ) - -int -rtems_ifmedia2str (int media, char *buf, int bufsz) -{ - const char *mdesc; - const char *dupdesc = 0; - - /* only ethernet supported, so far */ - if (IFM_ETHER != IFM_TYPE (media)) - return -1; - - if (!(mdesc = find_desc (IFM_SUBTYPE (media), shared_media_strings))) - mdesc = find_desc (IFM_SUBTYPE (media), ethern_media_strings); - - if (!mdesc) - return -1; - - if (IFM_NONE != IFM_SUBTYPE (media)) - dupdesc = IFM_FDX & media ? " full-duplex" : " half-duplex"; - - return WHATPRINT (buf, bufsz, - "Ethernet [phy instance: %" PRId32 "]: (link %s, autoneg %s) -- media: %s%s", - (int32_t) IFM_INST (media), - IFM_LINK_OK & media ? "ok" : "down", - IFM_ANEG_DIS & media ? "off" : "on", - mdesc, dupdesc ? dupdesc : ""); -} - -static int -find_tag (const char *desc, struct ifmedia_description *list) -{ - while (list->ifmt_string) { - if (strstr (desc, list->ifmt_string)) - return list->ifmt_word; - list++; - } - return -1; -} - - -/* convert a string to a media word - * RETURNS: 0 on failure; valid results have always at least IFM_ETHER set - */ -int -rtems_str2ifmedia (const char *str, int phy) -{ - int sub, opt = 0; - char *chpt; - - if (!strncmp (str, "auto", 4)) { - sub = IFM_AUTO; - } else if ((sub = find_tag (str, ethern_media_strings)) < 0) { - if ((sub = find_tag (str, eth_al_media_strings)) < 0) { - /* allow more */ - - /* if no number, 0 is returned which will not pass the test */ - switch (strtol (str, &chpt, 10)) { - case 10: - sub = IFM_10_T; - break; - case 100: - sub = IFM_100_TX; - break; - case 1000: - sub = IFM_1000_T; - break; - default: - return 0; - } - - /* need 'b' or 'base' */ - if ('b' != *chpt++) - return 0; - if (!strncmp (chpt, "ase", 3)) - chpt += 3; - if (toupper ((unsigned char)*chpt++) != 'T') - return 0; - if (IFM_100_TX == sub && toupper ((unsigned char)*chpt++) != 'X') - return 0; - } - } - - if (strstr (str, "full") || strstr (str, "FDX") || strstr (str, "fdx")) - opt |= IFM_FDX; - - return IFM_MAKEWORD (IFM_ETHER, sub, opt, phy); -} |