# cygwin_logon_user

    extern "C" HANDLE
    cygwin_logon_user
    const struct passwd *passwd_entry
    const char *password

Given a pointer ot a passwd entry of a user and a cleartext password, returns a HANDLE to an impersonation token for this user which can be used in a subsequent call to `cygwin_set_impersonation_token` to impersonate that user. This function can only be called from a process which has the required NT user rights to perform a logon.

See also the chapter "New setuid concept" in the Cygwin user's guide.

See also cygwin_set_impersonation_token

## cygwin_set_impersonation_token

    extern "C" void
    cygwin_set_impersonation_token
    const HANDLE token

Use this function to enable the token given as parameter as impersonation token for the next call to `setuid` or `seteuid`. Use `cygwin_set_impersonation_token` together with `cygwin_logon_user` to impersonate users using password authentication.

See also the chapter "New setuid concept" in the Cygwin user's guide.

See also cygwin_logon_user