Ejemplo n.º 1
0
/* Store at most BUFLEN characters of the pathname of the terminal FD is
   open on in BUF.  Return 0 on success, -1 otherwise.  */
int
__ttyname_r (int fd, char *buf, size_t buflen)
{
  error_t err;
  char nodename[1024];	/* XXX */
  size_t len;

  nodename[0] = '\0';
  if (err = HURD_DPORT_USE (fd, __term_get_nodename (port, nodename)))
    {
      if (err == MIG_BAD_ID || err == EOPNOTSUPP)
        err = ENOTTY;
      return __hurd_dfail (fd, err), errno;
    }

  len = strlen (nodename) + 1;
  if (len > buflen)
    {
      errno = ERANGE;
      return errno;
    }

  memcpy (buf, nodename, len);
  return 0;
}
Ejemplo n.º 2
0
/* Return the pathname of the terminal FD is open on, or NULL on errors.
   The returned storage is good only until the next call to this function.  */
char *
ttyname (int fd)
{
  error_t err;
  static char nodename[1024];	/* XXX */

  nodename[0] = '\0';
  if (err = HURD_DPORT_USE (fd, __term_get_nodename (port, nodename)))
    return __hurd_dfail (fd, err), NULL;

  return nodename;
}
Ejemplo n.º 3
0
/* Return the pathname of the terminal FD is open on, or NULL on errors.
   The returned storage is good only until the next call to this function.  */
char *
ttyname (int fd)
{
  error_t err;
  static char nodename[1024];	/* XXX */

  nodename[0] = '\0';
  if (err = HURD_DPORT_USE (fd, __term_get_nodename (port, nodename)))
    {
      if (err == MIG_BAD_ID || err == EOPNOTSUPP)
	err = ENOTTY;
      return __hurd_dfail (fd, err), NULL;
    }

  return nodename;
}
Ejemplo n.º 4
0
/* Store at most BUFLEN characters of the pathname of the terminal FD is
   open on in BUF.  Return 0 on success, -1 otherwise.  */
int
__ttyname_r (int fd, char *buf, size_t buflen)
{
  error_t err;
  char nodename[1024];	/* XXX */
  size_t len;

  nodename[0] = '\0';
  if (err = HURD_DPORT_USE (fd, __term_get_nodename (port, nodename)))
    return __hurd_dfail (fd, err), -1;

  len = strlen (nodename) + 1;
  if (len > buflen)
    {
      errno = EINVAL;
      return -1;
    }

  memcpy (buf, nodename, len);
  return 0;
}