Usermode/libpsocket - Header wrapping, byte ordering functions
[tpg/acess2.git] / Usermode / Libraries / libposix.so_src / unistd.c
index 211948f..64cb70f 100644 (file)
@@ -183,6 +183,17 @@ int usleep(useconds_t usec)
        return 0;
 }
 
+unsigned int alarm(unsigned int seconds)
+{
+       static int64_t  alarm_time;
+       if( seconds > 0 )
+       {
+               alarm_time = _SysTimestamp() + seconds * 1000;
+               // TODO: Schedule SIGALRM
+       }
+       return (alarm_time - _SysTimestamp()) / 1000;
+}
+
 int kill(pid_t pid, int signal)
 {
        // TODO: Need special handling?
@@ -242,6 +253,7 @@ char *getpass(const char *prompt)
        mode.OutputMode = 0;
        _SysIOCtl(STDIN_FILENO, PTY_IOCTL_SETMODE, &mode);
        fprintf(stderr, "%s", prompt);
+       fflush(stdin);  // clear stdin buffer
        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 -- )
@@ -270,5 +282,7 @@ int ttyname_r(int fd, char *buf, size_t buflen)
 
        _SysIOCtl(fd, PTY_IOCTL_GETID, NULL);   
 
+       _SysDebug("TODO: ttyname_r");
+
        return ENOTIMPL;
 }

UCC git Repository :: git.ucc.asn.au