function psi\opterr(int $value) : void { let opterr = intval($value); return void(opterr_set); } function psi\optind\get() : int { return to_int(optind_get); } function psi\optind\set(int $v) : void { let optind = intval($v); return void(optind_set); } function psi\optopt() : int { return to_int(optopt); } function psi\optarg() : string { return to_string(optarg); } /* OSX function psi\optreset() : void { let _v = 1; return void(optreset_set); } */ static function psi\getopt(array &$argv, string $options) : int { let argc = count($argv); let argv = &arrval($argv, *argv = strval($argv) ); let optstring = strval($options); return to_int(getopt); set $argv = to_array( *argv, argc, to_string(*argv) ); }