1 | Index: nfs/bootp_subr.c |
---|
2 | =================================================================== |
---|
3 | RCS file: /afs/slac/g/spear/cvsrep/rtems/src/c/src/libnetworking/nfs/bootp_subr.c,v |
---|
4 | retrieving revision 1.2 |
---|
5 | diff -c -r1.2 bootp_subr.c |
---|
6 | *** nfs/bootp_subr.c 3 Apr 2002 03:28:28 -0000 1.2 |
---|
7 | --- nfs/bootp_subr.c 29 Oct 2002 20:56:37 -0000 |
---|
8 | *************** |
---|
9 | *** 870,875 **** |
---|
10 | --- 870,883 ---- |
---|
11 | rtems_bsdnet_bootp_boot_file_name = strdup (p); |
---|
12 | break; |
---|
13 | |
---|
14 | + case 129: |
---|
15 | + /* Site specific option; we use this to get |
---|
16 | + * a 'command line string' |
---|
17 | + */ |
---|
18 | + if (p[0]) |
---|
19 | + rtems_bsdnet_bootp_cmdline = strdup(p); |
---|
20 | + break; |
---|
21 | + |
---|
22 | default: |
---|
23 | printf ("Ignoring BOOTP/DHCP option code %d\n", code); |
---|
24 | break; |
---|
25 | *************** |
---|
26 | *** 1035,1040 **** |
---|
27 | --- 1043,1050 ---- |
---|
28 | printf ("Server name is %s\n", rtems_bsdnet_bootp_server_name); |
---|
29 | if (rtems_bsdnet_bootp_boot_file_name) |
---|
30 | printf ("Boot file is %s\n", rtems_bsdnet_bootp_boot_file_name); |
---|
31 | + if (rtems_bsdnet_bootp_cmdline) |
---|
32 | + printf ("Command line is %s\n", rtems_bsdnet_bootp_cmdline); |
---|
33 | |
---|
34 | /* |
---|
35 | * Use defaults if values were not supplied by BOOTP/DHCP options |
---|
36 | Index: rtems/rtems_bsdnet.h |
---|
37 | =================================================================== |
---|
38 | RCS file: /afs/slac/g/spear/cvsrep/rtems/src/c/src/libnetworking/rtems/rtems_bsdnet.h,v |
---|
39 | retrieving revision 1.1.1.1 |
---|
40 | diff -c -r1.1.1.1 rtems_bsdnet.h |
---|
41 | *** rtems/rtems_bsdnet.h 14 Dec 2001 22:54:01 -0000 1.1.1.1 |
---|
42 | --- rtems/rtems_bsdnet.h 29 Oct 2002 20:55:39 -0000 |
---|
43 | *************** |
---|
44 | *** 35,40 **** |
---|
45 | --- 35,41 ---- |
---|
46 | extern struct in_addr rtems_bsdnet_bootp_server_address; |
---|
47 | extern char *rtems_bsdnet_bootp_server_name; |
---|
48 | extern char *rtems_bsdnet_bootp_boot_file_name; |
---|
49 | + extern char *rtems_bsdnet_bootp_cmdline; |
---|
50 | extern struct in_addr rtems_bsdnet_ntpserver[]; |
---|
51 | extern int rtems_bsdnet_ntpserver_count; |
---|
52 | extern long rtems_bsdnet_timeoffset; |
---|
53 | Index: rtems/rtems_glue.c |
---|
54 | =================================================================== |
---|
55 | RCS file: /afs/slac/g/spear/cvsrep/rtems/src/c/src/libnetworking/rtems/rtems_glue.c,v |
---|
56 | retrieving revision 1.1.1.1 |
---|
57 | diff -c -r1.1.1.1 rtems_glue.c |
---|
58 | *** rtems/rtems_glue.c 14 Dec 2001 22:54:01 -0000 1.1.1.1 |
---|
59 | --- rtems/rtems_glue.c 29 Oct 2002 20:50:41 -0000 |
---|
60 | *************** |
---|
61 | *** 78,95 **** |
---|
62 | /* |
---|
63 | * BOOTP values |
---|
64 | */ |
---|
65 | ! struct in_addr rtems_bsdnet_log_host_address; |
---|
66 | ! struct in_addr rtems_bsdnet_bootp_server_address; |
---|
67 | ! char *rtems_bsdnet_bootp_boot_file_name; |
---|
68 | ! char *rtems_bsdnet_bootp_server_name; |
---|
69 | ! char *rtems_bsdnet_domain_name; |
---|
70 | struct in_addr rtems_bsdnet_nameserver[sizeof rtems_bsdnet_config.name_server / |
---|
71 | sizeof rtems_bsdnet_config.name_server[0]]; |
---|
72 | ! int rtems_bsdnet_nameserver_count; |
---|
73 | struct in_addr rtems_bsdnet_ntpserver[sizeof rtems_bsdnet_config.ntp_server / |
---|
74 | sizeof rtems_bsdnet_config.ntp_server[0]]; |
---|
75 | ! int rtems_bsdnet_ntpserver_count; |
---|
76 | ! long rtems_bsdnet_timeoffset; |
---|
77 | |
---|
78 | /* |
---|
79 | * Perform FreeBSD memory allocation. |
---|
80 | --- 78,96 ---- |
---|
81 | /* |
---|
82 | * BOOTP values |
---|
83 | */ |
---|
84 | ! struct in_addr rtems_bsdnet_log_host_address = {0}; |
---|
85 | ! struct in_addr rtems_bsdnet_bootp_server_address = {0}; |
---|
86 | ! char *rtems_bsdnet_bootp_boot_file_name = 0; |
---|
87 | ! char *rtems_bsdnet_bootp_server_name = 0; |
---|
88 | ! char *rtems_bsdnet_domain_name = 0; |
---|
89 | ! char *rtems_bsdnet_bootp_cmdline = 0; |
---|
90 | struct in_addr rtems_bsdnet_nameserver[sizeof rtems_bsdnet_config.name_server / |
---|
91 | sizeof rtems_bsdnet_config.name_server[0]]; |
---|
92 | ! int rtems_bsdnet_nameserver_count = 0; |
---|
93 | struct in_addr rtems_bsdnet_ntpserver[sizeof rtems_bsdnet_config.ntp_server / |
---|
94 | sizeof rtems_bsdnet_config.ntp_server[0]]; |
---|
95 | ! int rtems_bsdnet_ntpserver_count = 0; |
---|
96 | ! long rtems_bsdnet_timeoffset = 0; |
---|
97 | |
---|
98 | /* |
---|
99 | * Perform FreeBSD memory allocation. |
---|
100 | *************** |
---|
101 | *** 872,881 **** |
---|
102 | broadcast.sin_addr.s_addr = |
---|
103 | address.sin_addr.s_addr | ~netmask.sin_addr.s_addr; |
---|
104 | if (rtems_bsdnet_ifconfig (ifp->name, SIOCSIFBRDADDR, &broadcast) < 0) { |
---|
105 | ! struct in_addr in_addr; |
---|
106 | in_addr.s_addr = broadcast.sin_addr.s_addr; |
---|
107 | printf ("Can't set %s broadcast address %s: %s\n", |
---|
108 | ! ifp->name, inet_ntoa (in_addr), strerror (errno)); |
---|
109 | } |
---|
110 | } |
---|
111 | } |
---|
112 | --- 873,885 ---- |
---|
113 | broadcast.sin_addr.s_addr = |
---|
114 | address.sin_addr.s_addr | ~netmask.sin_addr.s_addr; |
---|
115 | if (rtems_bsdnet_ifconfig (ifp->name, SIOCSIFBRDADDR, &broadcast) < 0) { |
---|
116 | ! struct in_addr in_addr; |
---|
117 | ! char buf[20]; |
---|
118 | in_addr.s_addr = broadcast.sin_addr.s_addr; |
---|
119 | + if (!inet_ntop(AF_INET, &in_addr, buf, sizeof(buf))) |
---|
120 | + strcpy(buf,"?.?.?.?"); |
---|
121 | printf ("Can't set %s broadcast address %s: %s\n", |
---|
122 | ! ifp->name, buf, strerror (errno)); |
---|
123 | } |
---|
124 | } |
---|
125 | } |
---|