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@700 | 9 | A reader pipe capability, a writer pipe capability and an error (writer) |
paul@700 | 10 | pipe capability are to be provided for the process's input, output and |
paul@700 | 11 | error streams respectively, and the process capability is returned. */ |
paul@584 | 12 | |
paul@700 | 13 | [opcode(30)] void start(in int argc, in cap reader, in cap writer, |
paul@700 | 14 | in cap error, out cap process); |
paul@483 | 15 | }; |