Changeset b6f5f93 in rtems
- Timestamp:
- 03/23/99 22:39:13 (24 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- f1f42b4
- Parents:
- ca3fec49
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/exec/libnetworking/rtems/rtems_bsdnet_internal.h
rca3fec49 rb6f5f93 117 117 struct tty; 118 118 struct uio; 119 struct rtems_bsdnet_ifconfig; 119 120 120 121 /* … … 131 132 void rtems_bsdnet_semaphore_release (void); 132 133 void rtems_bsdnet_schednetisr (int n); 134 int rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep); 133 135 134 136 unsigned long rtems_bsdnet_seconds_since_boot (void); -
c/src/exec/libnetworking/rtems/rtems_glue.c
rca3fec49 rb6f5f93 883 883 return 0; 884 884 } 885 886 /* 887 * Parse a network driver name into a name and a unit number 888 */ 889 int 890 rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep) 891 { 892 const char *cp = config->name; 893 char c; 894 int unitNumber = 0; 895 896 if (cp == NULL) { 897 printf ("No network driver name"); 898 return -1; 899 } 900 while ((c = *cp++) != '\0') { 901 if ((c >= '0') && (c <= '9')) { 902 int len = cp - config->name - 1; 903 if ((len < 2) || (len > 50)) 904 break; 905 for (;;) { 906 unitNumber = (unitNumber * 10) + (c - '0'); 907 c = *cp++; 908 if (c == '\0') { 909 char *unitName = malloc (len); 910 if (unitName == NULL) { 911 printf ("No memory"); 912 return -1; 913 } 914 strncpy (unitName, config->name, len - 1); 915 unitName[len-1] = '\0'; 916 *namep = unitName; 917 return unitNumber; 918 } 919 if ((c < '0') || (c > '9')) 920 break; 921 } 922 break; 923 } 924 } 925 printf ("Bad network driver name `%s'", config->name); 926 return -1; 927 } -
c/src/lib/libbsp/m68k/gen68360/network/network.c
rca3fec49 rb6f5f93 853 853 struct ifnet *ifp; 854 854 int mtu; 855 int i; 856 857 /* 858 * Find a free driver 859 */ 860 for (i = 0 ; i < NSCCDRIVER ; i++) { 861 sc = &scc_softc[i]; 862 ifp = &sc->arpcom.ac_if; 863 if (ifp->if_softc == NULL) 864 break; 865 } 866 if (i >= NSCCDRIVER) { 867 printf ("Too many SCC drivers.\n"); 855 int unitNumber; 856 char *unitName; 857 858 /* 859 * Parse driver name 860 */ 861 if ((unitNumber = rtems_bsdnet_parse_driver_name (config, &unitName)) < 0) 862 return 0; 863 864 /* 865 * Is driver free? 866 */ 867 if ((unitNumber <= 0) || (unitNumber > NSCCDRIVER)) { 868 printf ("Bad SCC unit number.\n"); 869 return 0; 870 } 871 sc = &scc_softc[unitNumber - 1]; 872 ifp = &sc->arpcom.ac_if; 873 if (ifp->if_softc != NULL) { 874 printf ("Driver already in use.\n"); 868 875 return 0; 869 876 } … … 931 938 */ 932 939 ifp->if_softc = sc; 933 ifp->if_unit = i + 1;934 ifp->if_name = "scc";940 ifp->if_unit = unitNumber; 941 ifp->if_name = unitName; 935 942 ifp->if_mtu = mtu; 936 943 ifp->if_init = scc_init; -
c/src/lib/libnetworking/rtems/rtems_bsdnet_internal.h
rca3fec49 rb6f5f93 117 117 struct tty; 118 118 struct uio; 119 struct rtems_bsdnet_ifconfig; 119 120 120 121 /* … … 131 132 void rtems_bsdnet_semaphore_release (void); 132 133 void rtems_bsdnet_schednetisr (int n); 134 int rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep); 133 135 134 136 unsigned long rtems_bsdnet_seconds_since_boot (void); -
c/src/lib/libnetworking/rtems/rtems_glue.c
rca3fec49 rb6f5f93 883 883 return 0; 884 884 } 885 886 /* 887 * Parse a network driver name into a name and a unit number 888 */ 889 int 890 rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep) 891 { 892 const char *cp = config->name; 893 char c; 894 int unitNumber = 0; 895 896 if (cp == NULL) { 897 printf ("No network driver name"); 898 return -1; 899 } 900 while ((c = *cp++) != '\0') { 901 if ((c >= '0') && (c <= '9')) { 902 int len = cp - config->name - 1; 903 if ((len < 2) || (len > 50)) 904 break; 905 for (;;) { 906 unitNumber = (unitNumber * 10) + (c - '0'); 907 c = *cp++; 908 if (c == '\0') { 909 char *unitName = malloc (len); 910 if (unitName == NULL) { 911 printf ("No memory"); 912 return -1; 913 } 914 strncpy (unitName, config->name, len - 1); 915 unitName[len-1] = '\0'; 916 *namep = unitName; 917 return unitNumber; 918 } 919 if ((c < '0') || (c > '9')) 920 break; 921 } 922 break; 923 } 924 } 925 printf ("Bad network driver name `%s'", config->name); 926 return -1; 927 } -
c/src/libnetworking/rtems/rtems_bsdnet_internal.h
rca3fec49 rb6f5f93 117 117 struct tty; 118 118 struct uio; 119 struct rtems_bsdnet_ifconfig; 119 120 120 121 /* … … 131 132 void rtems_bsdnet_semaphore_release (void); 132 133 void rtems_bsdnet_schednetisr (int n); 134 int rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep); 133 135 134 136 unsigned long rtems_bsdnet_seconds_since_boot (void); -
c/src/libnetworking/rtems/rtems_glue.c
rca3fec49 rb6f5f93 883 883 return 0; 884 884 } 885 886 /* 887 * Parse a network driver name into a name and a unit number 888 */ 889 int 890 rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep) 891 { 892 const char *cp = config->name; 893 char c; 894 int unitNumber = 0; 895 896 if (cp == NULL) { 897 printf ("No network driver name"); 898 return -1; 899 } 900 while ((c = *cp++) != '\0') { 901 if ((c >= '0') && (c <= '9')) { 902 int len = cp - config->name - 1; 903 if ((len < 2) || (len > 50)) 904 break; 905 for (;;) { 906 unitNumber = (unitNumber * 10) + (c - '0'); 907 c = *cp++; 908 if (c == '\0') { 909 char *unitName = malloc (len); 910 if (unitName == NULL) { 911 printf ("No memory"); 912 return -1; 913 } 914 strncpy (unitName, config->name, len - 1); 915 unitName[len-1] = '\0'; 916 *namep = unitName; 917 return unitNumber; 918 } 919 if ((c < '0') || (c > '9')) 920 break; 921 } 922 break; 923 } 924 } 925 printf ("Bad network driver name `%s'", config->name); 926 return -1; 927 } -
cpukit/libnetworking/rtems/rtems_bsdnet_internal.h
rca3fec49 rb6f5f93 117 117 struct tty; 118 118 struct uio; 119 struct rtems_bsdnet_ifconfig; 119 120 120 121 /* … … 131 132 void rtems_bsdnet_semaphore_release (void); 132 133 void rtems_bsdnet_schednetisr (int n); 134 int rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep); 133 135 134 136 unsigned long rtems_bsdnet_seconds_since_boot (void); -
cpukit/libnetworking/rtems/rtems_glue.c
rca3fec49 rb6f5f93 883 883 return 0; 884 884 } 885 886 /* 887 * Parse a network driver name into a name and a unit number 888 */ 889 int 890 rtems_bsdnet_parse_driver_name (const struct rtems_bsdnet_ifconfig *config, char **namep) 891 { 892 const char *cp = config->name; 893 char c; 894 int unitNumber = 0; 895 896 if (cp == NULL) { 897 printf ("No network driver name"); 898 return -1; 899 } 900 while ((c = *cp++) != '\0') { 901 if ((c >= '0') && (c <= '9')) { 902 int len = cp - config->name - 1; 903 if ((len < 2) || (len > 50)) 904 break; 905 for (;;) { 906 unitNumber = (unitNumber * 10) + (c - '0'); 907 c = *cp++; 908 if (c == '\0') { 909 char *unitName = malloc (len); 910 if (unitName == NULL) { 911 printf ("No memory"); 912 return -1; 913 } 914 strncpy (unitName, config->name, len - 1); 915 unitName[len-1] = '\0'; 916 *namep = unitName; 917 return unitNumber; 918 } 919 if ((c < '0') || (c > '9')) 920 break; 921 } 922 break; 923 } 924 } 925 printf ("Bad network driver name `%s'", config->name); 926 return -1; 927 }
Note: See TracChangeset
for help on using the changeset viewer.