LibC/Kernel: Implement ttyname
This commit is contained in:
@@ -62,6 +62,7 @@ __BEGIN_DECLS
|
||||
#define PATH_MAX 256
|
||||
#define LOGIN_NAME_MAX 256
|
||||
#define HOST_NAME_MAX 255
|
||||
#define TTY_NAME_MAX PATH_MAX
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@ __BEGIN_DECLS
|
||||
O(SYS_GETSOCKOPT, getsockopt) \
|
||||
O(SYS_SETSOCKOPT, setsockopt) \
|
||||
O(SYS_REALPATH, realpath) \
|
||||
O(SYS_TTYNAME, ttyname) \
|
||||
|
||||
enum Syscall
|
||||
{
|
||||
|
||||
@@ -488,3 +488,11 @@ char* getlogin(void)
|
||||
endpwent();
|
||||
return buffer;
|
||||
}
|
||||
|
||||
char* ttyname(int fildes)
|
||||
{
|
||||
static char storage[_POSIX_TTY_NAME_MAX];
|
||||
if (syscall(SYS_TTYNAME, fildes, storage) == -1)
|
||||
return nullptr;
|
||||
return storage;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user