WaitNoWait = Interface("WaitNoWait", "Wait or don't wait", None, StrictBoolean) __declare__(""" def makedirs(name: String, mode: Int) def removedirs(name: String) def renames(old: String, new: String) def execl(file: String, args: Sequence(String)) def execle(file: String, args: Sequence(String)) def execlp(file: String, args: Sequence(String)) def execlpe(file: String, args: Sequence(String)) def execvpe(file: String, args: Sequence(String), env: Mapping) def _Environ.__init__(self, environ: Mapping) def _Environ.__setitem__(self, key: String, item: String) def _Environ.__getitem__(self, key: String) -> String def _Environ.__delitem__(self, key: String) def _Environ.has_key(self, key: String) -> StrictBoolean def _Environ.get(self, key: String, failObj) -> String def _Environ.update(self, dict: Mapping) def getenv(key: String, default ) -> String def spawnv(mode: WaitNoWait, file: String, args: Sequence(String) ) -> rc: Int def spawnve(mode: WaitNoWait, file: String, args: Sequence, env: Mapping(String, String) ) -> rc: Int def spawnvp(mode: WaitNoWait, file: String, args: Sequence)-> rc: Int def spawnvpe(mode: WaitNoWait, file: String, args: Sequence, env: Mapping)-> rc: Int def spawnl(mode: WaitNoWait, file: String, args: Sequence)-> rc: Int def spawnlp(mode: WaitNoWait, file: String, args: Sequence)-> rc: Int def spawnle(mode: WaitNoWait, file: String, env: Mapping, args: Sequence)-> rc: Int def spawnlpe(mode: WaitNoWait, file: String, env: Mapping, args: Sequence)-> rc: Int def popen2(cmd: String, mode: String, bufsize, Int) -> (stdin: ReadStream, stdout: WriteStream) def popen3(cmd: String, mode: String, bufsize, Int) -> (stdin: ReadStream, stdout: WriteStream, stderr: WriteStream) def popen4(cmd: String, mode: String, bufsize, Int) -> (stdin: ReadStream, stdout: WriteStream) """) # spawn*'s signatures are a little funny. The comments in the code # seem just wrong. # XXX many of these will not be checked on platforms where the # functions are actually built-in to the C library.