paul@491 | 1 | /* An interface providing a way of creating processes, relying on a dataspace to |
paul@491 | 2 | transfer arguments to initialise each new process. */ |
paul@491 | 3 | |
paul@491 | 4 | interface ProcessCreatorContext |
paul@483 | 5 | { |
paul@491 | 6 | /* Start a process, using the given argument count to refer to the process |
paul@584 | 7 | arguments supplied via the dataspace, including the program itself. |
paul@483 | 8 | |
paul@615 | 9 | A reader pipe capability and a writer pipe capability are to be provided |
paul@615 | 10 | for the process's input and output respectively, and the process capability |
paul@615 | 11 | is returned. */ |
paul@584 | 12 | |
paul@615 | 13 | [opcode(30)] void start(in int argc, in cap reader, in cap writer, out cap process); |
paul@483 | 14 | }; |