libc {
  GLIBC_2.0 {
    # e*
    endutent;

    # g*
    getlogin; getlogin_r; getutent; getutent_r; getutid; getutid_r; getutline;
    getutline_r;

    # p*
    pututline;

    # s*
    setutent;

    # u*
    updwtmp; utmpname;
  }
  GLIBC_2.1 {
    # e*
    endutxent;

    # g*
    getpt; getutxent; getutxid; getutxline; grantpt;

    # p*
    ptsname; ptsname_r; pututxline;

    # s*
    setutxent;

    # u*
    unlockpt; updwtmpx; utmpxname;
  }
  GLIBC_2.1.1 {
    # g*
    getutmpx; getutmp;
  }
  GLIBC_2.2.1 {
    # p*
    posix_openpt;
  }
}

libutil {
  GLIBC_2.0 {
    forkpty; login; login_tty; logout; logwtmp; openpty;
  }
}
