7 Interface to the reincarnation server
10 #include <minix/bitmap.h>
11 #include <minix/com.h>
13 /* RSS definitions. */
18 #define RSS_COPY 0x01 /* keep an in-memory copy of the binary */
19 #define RSS_IPC_VALID 0x02 /* rss_ipc and rss_ipclen are valid */
20 #define RSS_REUSE 0x04 /* Try to reuse previously copied binary */
21 #define RSS_NOBLOCK 0x08 /* unblock caller immediately */
22 #define RSS_REPLICA 0x10 /* keep a replica of the service */
24 /* Common definitions. */
25 #define RS_NR_CONTROL 8
26 #define RS_NR_PCI_DEVICE 32
27 #define RS_NR_PCI_CLASS 4
28 #define RS_MAX_LABEL_LEN 16
30 /* Labels are copied over separately. */
37 /* Arguments needed to start a new driver or server */
51 int rss_irq
[RSS_NR_IRQ
];
53 struct { unsigned base
; unsigned len
; } rss_io
[RSS_NR_IO
];
55 struct { u16_t vid
; u16_t did
; } rss_pci_id
[RS_NR_PCI_DEVICE
];
57 struct { u32_t
class; u32_t mask
; } rss_pci_class
[RS_NR_PCI_CLASS
];
58 bitchunk_t rss_system
[SYS_CALL_MASK_SIZE
];
59 struct rss_label rss_label
;
62 bitchunk_t rss_vm
[VM_CALL_MASK_SIZE
];
64 struct rss_label rss_control
[RS_NR_CONTROL
];
67 /* ACL information for access to PCI devices */
70 char rsp_label
[RS_MAX_LABEL_LEN
];
73 struct { u16_t vid
; u16_t did
; } rsp_device
[RS_NR_PCI_DEVICE
];
75 struct { u32_t
class; u32_t mask
; } rsp_class
[RS_NR_PCI_CLASS
];
78 /* Definition of a public entry of the system process table. */
80 short in_use
; /* set when the entry is in use */
81 unsigned sys_flags
; /* sys flags */
82 endpoint_t endpoint
; /* process endpoint number */
83 long period
; /* heartbeat period (or zero) */
85 int dev_flags
; /* device flags */
86 dev_t dev_nr
; /* major device number */
87 int dev_style
; /* device style */
88 int dev_style2
; /* device style for next major dev number */
90 char label
[RS_MAX_LABEL_LEN
]; /* label of this service */
91 char proc_name
[RS_MAX_LABEL_LEN
]; /* process name of this service */
93 bitchunk_t vm_call_mask
[VM_CALL_MASK_SIZE
]; /* vm call mask */
95 struct rs_pci pci_acl
; /* pci acl */
98 _PROTOTYPE( int minix_rs_lookup
, (const char *name
, endpoint_t
*value
));