1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
5 #ifndef __PRESTO_PSDEV_H
6 #define __PRESTO_PSDEV_H
9 #define PROCNAME_SIZE 32
10 #include <linux/smp_lock.h>
12 /* represents state of an instance reached with /dev/intermezzo */
13 /* communication pending & processing queues */
16 wait_queue_head_t uc_waitq; /* Lento wait queue */
17 struct list_head uc_pending;
18 struct list_head uc_processing;
20 int uc_pid; /* Lento's pid */
21 int uc_hard; /* allows signals during upcalls */
25 int uc_timeout; /* . sec: signals will dequeue upc */
26 long uc_errorval; /* for testing I/O failures */
27 struct list_head uc_cache_list;
31 #define ISLENTO(minor) (current->pid == izo_channels[minor].uc_pid \
32 || current->real_parent->pid == izo_channels[minor].uc_pid \
33 || current->real_parent->real_parent->pid == izo_channels[minor].uc_pid)
35 extern struct upc_channel izo_channels[MAX_CHANNEL];
37 /* message types between presto filesystem in kernel */
44 struct list_head rq_chain;
49 int rq_opcode; /* copied from data to save lookup */
51 wait_queue_head_t rq_sleep; /* process' wait queue */
52 unsigned long rq_posttime;