mars/mars_device_sio.h

40 lines
714 B
C
Raw Normal View History

2010-06-15 18:31:06 +00:00
// (c) 2010 Thomas Schoebel-Theuer / 1&1 Internet AG
2010-06-20 18:55:34 +00:00
#ifndef MARS_DEVICE_SIO_H
#define MARS_DEVICE_SIO_H
2010-06-18 11:44:14 +00:00
#define WITH_THREAD 16
2010-06-17 16:57:10 +00:00
2010-07-23 11:55:18 +00:00
struct device_sio_mars_buf_aspect {
GENERIC_ASPECT(mars_buf);
2010-08-04 17:32:04 +00:00
struct list_head io_head;
2010-07-23 11:55:18 +00:00
};
2010-06-15 18:31:06 +00:00
struct device_sio_brick {
MARS_BRICK(device_sio);
};
struct device_sio_input {
MARS_INPUT(device_sio);
};
2010-06-18 11:44:14 +00:00
struct sio_threadinfo {
struct device_sio_output *output;
2010-08-04 17:32:04 +00:00
struct list_head mbuf_list;
2010-06-17 16:57:10 +00:00
struct task_struct *thread;
wait_queue_head_t event;
spinlock_t lock;
2010-08-03 16:03:32 +00:00
unsigned long last_jiffies;
2010-06-18 11:44:14 +00:00
};
struct device_sio_output {
MARS_OUTPUT(device_sio);
struct file *filp;
struct sio_threadinfo tinfo[WITH_THREAD+1];
spinlock_t g_lock;
int index;
2010-06-15 18:31:06 +00:00
};
MARS_TYPES(device_sio);
2010-06-20 18:55:34 +00:00
#endif