summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux/linux_ioctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/linux/linux_ioctl.c')
-rw-r--r--sys/i386/linux/linux_ioctl.c47
1 files changed, 38 insertions, 9 deletions
diff --git a/sys/i386/linux/linux_ioctl.c b/sys/i386/linux/linux_ioctl.c
index 03bc031..9680928 100644
--- a/sys/i386/linux/linux_ioctl.c
+++ b/sys/i386/linux/linux_ioctl.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: linux_ioctl.c,v 1.4 1995/12/29 22:12:12 sos Exp $
+ * $Id: linux_ioctl.c,v 1.5 1995/12/30 00:42:25 sos Exp $
*/
#include <sys/param.h>
@@ -38,12 +38,16 @@
#include <sys/filedesc.h>
#include <sys/tty.h>
#include <sys/termios.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <net/if.h>
+#include <sys/sockio.h>
#include <machine/console.h>
#include <machine/soundcard.h>
#include <i386/linux/linux.h>
-#include <i386/linux/sysproto.h>
+#include <i386/linux/linux_proto.h>
struct linux_termios {
unsigned long c_iflag;
@@ -351,13 +355,6 @@ linux_to_bsd_termios(struct linux_termios *linux_termios,
#endif
}
-
-struct linux_ioctl_args {
- int fd;
- int cmd;
- int arg;
-};
-
int
linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval)
{
@@ -456,6 +453,38 @@ linux_ioctl(struct proc *p, struct linux_ioctl_args *args, int *retval)
args->cmd = TIOCNOTTY;
return ioctl(p, (struct ioctl_args *)args, retval);
+ case LINUX_SIOCGIFCONF:
+ args->cmd = OSIOCGIFCONF;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCGIFFLAGS:
+ args->cmd = SIOCGIFFLAGS;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCGIFADDR:
+ args->cmd = OSIOCGIFADDR;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCGIFDSTADDR:
+ args->cmd = OSIOCGIFDSTADDR;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCGIFBRDADDR:
+ args->cmd = OSIOCGIFBRDADDR;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCGIFNETMASK:
+ args->cmd = OSIOCGIFNETMASK;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCADDMULTI:
+ args->cmd = SIOCADDMULTI;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
+ case LINUX_SIOCDELMULTI:
+ args->cmd = SIOCDELMULTI;
+ return ioctl(p, (struct ioctl_args *)args, retval);
+
case LINUX_TIOCSETD:
switch (args->arg) {
case LINUX_N_TTY:
OpenPOWER on IntegriCloud