diff options
| author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-07-27 22:07:53 +0000 |
|---|---|---|
| committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-07-27 22:07:53 +0000 |
| commit | 4fbe7358c7747a9165f776eb19addbb9baf7def2 (patch) | |
| tree | bc7076b4f6d10c2cc2942539bb666e50f0b66954 /libdde_linux26/lib/src/mach_glue | |
| parent | 21adb5284111190057db245cfc2b54091920c373 (diff) | |
rename libdde_linux26 into libdde-linux26 to make dpkg-source happy
Diffstat (limited to 'libdde_linux26/lib/src/mach_glue')
| -rw-r--r-- | libdde_linux26/lib/src/mach_glue/block.c | 81 | ||||
| -rw-r--r-- | libdde_linux26/lib/src/mach_glue/net.c | 112 |
2 files changed, 0 insertions, 193 deletions
diff --git a/libdde_linux26/lib/src/mach_glue/block.c b/libdde_linux26/lib/src/mach_glue/block.c deleted file mode 100644 index 3820712c..00000000 --- a/libdde_linux26/lib/src/mach_glue/block.c +++ /dev/null @@ -1,81 +0,0 @@ -#include <linux/fs.h> -#include <linux/genhd.h> -#include <linux/bio.h> -#include <ddekit/assert.h> - -struct gendisk *find_disk_by_name (char *); -void dde_page_cache_add (struct page *); - -struct block_device *open_block_dev (char *name, int part, fmode_t mode) -{ - struct gendisk *disk = find_disk_by_name (name); - if (disk) - { - dev_t devid = MKDEV (disk->major, disk->first_minor + part); - return open_by_devnum (devid, mode); - } - return ERR_PTR(-ENXIO); -} - -/* read or write a piece of data to a block device. - * DATA must be in one page. - * SECTORNR: the writing location in sectors. */ -int block_dev_rw (struct block_device *dev, int sectornr, - char *data, int count, int rw, void (*done (int err))) -{ - int err = 0; - struct bio *bio; - struct page *page; - int i; - - void end_bio (struct bio *bio, int err) - { - done (err); - } - - assert (count <= PAGE_SIZE); - bio = bio_alloc (GFP_NOIO, 1); - if (bio == NULL) - { - err = ENOMEM; - goto out; - } - - page = kmalloc (sizeof (*page), GFP_KERNEL); - if (page == NULL) - { - err = ENOMEM; - goto out; - } - - bio->bi_sector = sectornr; - bio->bi_bdev = dev; - page->virtual = data; - dde_page_cache_add (page); - bio->bi_io_vec[0].bv_page = page; - bio->bi_io_vec[0].bv_len = count; - bio->bi_io_vec[0].bv_offset = (int) data & ~PAGE_MASK; - - bio->bi_vcnt = 1; - bio->bi_idx = 0; - bio->bi_size = count; - - bio->bi_end_io = end_bio; - bio->bi_private = NULL; - bio_get (bio); - submit_bio (rw, bio); - if (bio_flagged (bio, BIO_EOPNOTSUPP)) - { - err = -EOPNOTSUPP; - goto out; - } - bio_put (bio); -out: - if (err) - { - if (bio) - bio_put (bio); - kfree (page); - } - return err; -} diff --git a/libdde_linux26/lib/src/mach_glue/net.c b/libdde_linux26/lib/src/mach_glue/net.c deleted file mode 100644 index 3ab9e44f..00000000 --- a/libdde_linux26/lib/src/mach_glue/net.c +++ /dev/null @@ -1,112 +0,0 @@ -#include <linux/netdevice.h> -#include <linux/if.h> - -/* List of sk_buffs waiting to be freed. */ -static struct sk_buff_head skb_done_list; - -struct net_device *search_netdev (char *name) -{ - struct net_device *dev; - struct net_device *found = NULL; - struct net *net; - - printk("search device %s\n", name); - read_lock(&dev_base_lock); - for_each_net(net) { - for_each_netdev(net, dev) { - printk("there is device %s, base addr: %x\n", - dev->name, dev->base_addr); - if (!strcmp (name, dev->name)) - { - found = dev; - goto end; - } - } - } -end: - read_unlock(&dev_base_lock); - return found; -} - -int linux_pkg_xmit (char *pkg_data, int len, void *del_data, - int (*del_func) (struct sk_buff *, void *), - struct net_device *dev) -{ - struct sk_buff *skb; - - if (len == 0 || len > dev->mtu + dev->hard_header_len) - return EINVAL; - - /* Allocate a sk_buff. */ - skb = dev_alloc_skb (len); - if (!skb) - return ENOMEM; - - skb->del_data = del_data; - skb->pre_del_func = del_func; - - /* Copy user data. This is only required if it spans multiple pages. */ - skb->len = len; - skb->tail = skb->data + len; - - memcpy (skb->data, pkg_data, len); - - skb->dev = dev; - - return dev_queue_xmit(skb); -} - -char *netdev_addr(struct net_device *dev) -{ - return dev->dev_addr; -} - -int netdev_flags(struct net_device *dev) -{ - return dev->flags; -} - -char *netdev_name (struct net_device *dev) -{ - return dev->name; -} - -unsigned int netdev_mtu (struct net_device *dev) -{ - return dev->mtu; -} - -unsigned short netdev_header_len (struct net_device *dev) -{ - return dev->hard_header_len; -} - -unsigned short netdev_type (struct net_device *dev) -{ - return dev->type; -} - -unsigned char netdev_addr_len (struct net_device *dev) -{ - return dev->addr_len; -} - -void *skb_reply(struct sk_buff *skb) -{ - return skb->del_data; -} - -void skb_done_head_init() -{ - skb_queue_head_init (&skb_done_list); -} - -struct sk_buff *skb_done_dequeue() -{ - return skb_dequeue (&skb_done_list); -} - -void skb_done_queue(struct sk_buff *skb) -{ - skb_queue_tail (&skb_done_list, skb); -} |
