3 * Copyright (C) 2009 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
25 int ioctl_call (unsigned id
, void *buf
, int l
)
30 struct ioifaddr_t
*io
= buf
;
32 if (l
!= sizeof (struct ioifaddr_t
))
35 netif_t
*netif
= netif_findbyname (io
->dev
);
40 netif_ip_addr (netif
, io
->ipv4
, IF_CFG_TYPE_STATIC
);
41 netif_ipv6_addr (netif
, io
->ipv6
, IF_CFG_TYPE_STATIC
);
47 struct ioifaddr_t
*io
= buf
;
49 if (l
!= sizeof (struct ioifaddr_t
))
52 netif_t
*netif
= netif_findbyname (io
->dev
);
57 memcpy (&io
->ipv4
, &netif
->ip
, sizeof (net_ipv4
));
58 memcpy (&io
->ipv6
, netif
->ipv6
, sizeof (net_ipv6
));
64 struct ioatarq_t
*io
= buf
;
66 if (l
!= sizeof (struct ioatarq_t
))
69 dev_t
*dev
= dev_find (io
->dev
);
96 if (!dev
->handler (DEV_ACT_READ
, &p
, io
->data
, "", io
->sector
))
103 struct ioatarq_t
*io
= buf
;
105 if (l
!= sizeof (struct ioatarq_t
))
108 dev_t
*dev
= dev_find (io
->dev
);
116 switch (io
->dev
[7]) {
135 if (!dev
->handler (DEV_ACT_WRITE
, &p
, io
->data
, "", io
->sector
))