+int chdir(const char *dir)
+{
+ return _SysChdir(dir);
+}
+
+int mkdir(const char *pathname, mode_t mode)
+{
+ _SysDebug("TODO: POSIX mkdir(%i, 0%o)", pathname, mode);
+ return -1;
+}
+
+char *getpass(const char *prompt)
+{
+ static char passbuf[PASS_MAX+1];
+ struct ptymode oldmode, mode;
+ _SysIOCtl(STDIN_FILENO, PTY_IOCTL_GETMODE, &oldmode);
+ mode.InputMode = PTYIMODE_CANON;
+ mode.OutputMode = 0;
+ _SysIOCtl(STDIN_FILENO, PTY_IOCTL_SETMODE, &mode);
+ fprintf(stderr, "%s", prompt);
+ fgets(passbuf, PASS_MAX+1, stdin);
+ fprintf(stderr, "\n");
+ for( int i = strlen(passbuf); i > 0 && (passbuf[i-1] == '\r' || passbuf[i-1] == '\n'); i -- )
+ passbuf[i-1] = 0;
+
+ _SysIOCtl(STDIN_FILENO, PTY_IOCTL_SETMODE, &oldmode);
+
+ return passbuf;
+}
+