nbytes = read (file_fd, &last_entry, sizeof (struct utmp));
nbytes = __read (file_fd, &last_entry, sizeof (struct utmp));
getutent_r_file (struct utmp *buffer, struct utmp **result){  ssize_t nbytes;  assert (file_fd >= 0);  if (file_offset == -1l)    {      /* Not available.  */      *result = NULL;      return -1;    }  LOCK_FILE (file_fd, F_RDLCK);  /* Read the next entry.  */  nbytes = read (file_fd, &last_entry, sizeof (struct utmp));  UNLOCK_FILE (file_fd);  if (nbytes != sizeof (struct utmp))    {      file_offset = -1l;      *result = NULL;      return -1;    }  /* Update position pointer.  */  file_offset += sizeof (struct utmp);  memcpy (buffer, &last_entry, sizeof (struct utmp));  *result = buffer;  return 0;}