From 2a0220f19b262f122bc8dc7b68e6f4c0a5a16cae Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Thu, 11 Jan 2001 22:28:29 +0000 Subject: hurd/ 2001-01-07 Marcus Brinkmann * ioctl_types.h: Include , define types sockaddr_t and ifname_t for iioctl.defs. * iioctl.defs: New file for network interface ioctls. * pfinet.defs: Remove old RPCs, fix subsystem number, add RPC for SIOCGIFCONF. pfinet/ 2001-01-07 Marcus Brinkmann * pfinet-ops.c: New file to implement hurd/pfinet.defs. * iioctl-ops.c: New file to implement iioctl.defs. * linux-src/net/core/dev.c: If _HURD_, don't define netdev_chain as static. * glue-include/linux/if.h: New file, to avoid conflict between (imported by iioctl.defs) and linux version of it. * main.c (pfinet_demuxer): Prototype pfinet_server and iioctl_server, use them. * pfinet.h: New global variables pfinetctl, pfinet_owner and pfinet_group. * main.c (main): New variable ST. Request pfinetctl from trivfs_startup. Use it to determine the owner and group of the underlying node. * io-ops.c (S_io_reauthenticate): New index variable j. Set newuser->isroot also for owners of the underlying file and group owners. (S_io_restrict_auth): Likewise. * socket-ops.c: Include and . (S_socket_create): New variable isroot. If master->isroot is not set, use fshelp_isowner to check ownership and if to set it. Pass isroot to make_sock_user instead master->isroot. * linux-src/net/ipv4/devinet.c (configure_device): Accept new parameter BROADCAST, set ifa_broadcast if this is not INADDR_NONE. (inquire_device): Accept new parameter broadcast, set it. * main.c: Add new paramter to prototype of configure_device. (main): Add new parameter to call to configure_device. * options.c: Add new parameters to prototypes of configure_device and inquire_device. (trivfs_append_args): Define new variable BROAD, use its address as the new parameter for inquire_device. * linux-src/net/core/dev.c (dev_ifconf): Don't declare static if _HURD_. * linux-src/net/ipv4/devinet.c (inet_gifconf): If _HURD_, set sin_len member. * Makefile (MIGSRCS): Add pfinetServer.c and iioctlServer.c. (SRCS): Add pfinet-ops.c, iioctl-ops.c. --- pfinet/options.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'pfinet/options.c') diff --git a/pfinet/options.c b/pfinet/options.c index 3de98c35..31d9e075 100644 --- a/pfinet/options.c +++ b/pfinet/options.c @@ -45,9 +45,11 @@ extern error_t enumerate_devices (error_t (*fun) (struct device *dev)); /* devinet.c */ extern error_t configure_device (struct device *dev, uint32_t addr, - uint32_t netmask, uint32_t peer); + uint32_t netmask, uint32_t peer, + uint32_t broadcast); extern void inquire_device (struct device *dev, uint32_t *addr, - uint32_t *netmask, uint32_t *peer); + uint32_t *netmask, uint32_t *peer, + uint32_t *broadcast); /* Pfinet options. Used for both startup and runtime. */ static const struct argp_option options[] = @@ -248,7 +250,8 @@ parse_opt (int opt, char *arg, struct argp_state *state) for (in = h->interfaces; in < h->interfaces + h->num_interfaces; in++) if (in->address != INADDR_NONE || in->netmask != INADDR_NONE) { - err = configure_device (in->device, in->address, in->netmask, in->peer); + err = configure_device (in->device, in->address, in->netmask, + in->peer, INADDR_NONE); if (err) FAIL (err, 16, 0, "cannot configure interface"); } @@ -333,9 +336,9 @@ trivfs_append_args (struct trivfs_control *fsys, char **argz, size_t *argz_len) error_t add_dev_opts (struct device *dev) { error_t err = 0; - uint32_t addr, mask, peer; + uint32_t addr, mask, peer, broad; - inquire_device (dev, &addr, &mask, &peer); + inquire_device (dev, &addr, &mask, &peer, &broad); #define ADD_OPT(fmt, args...) \ do { char buf[100]; \ -- cgit v1.2.3