CRYPT_GENSALT_IMPL(3C)  Standard C Library Functions  CRYPT_GENSALT_IMPL(3C)
NAME
       crypt_gensalt_impl - generate salt for password encryption
SYNOPSIS
       #include <crypt.h>       
char *crypt_gensalt_impl(
char *gsbuffer, 
size_t gsbufflen,            
const char *oldsalt, 
const struct passwd *userinfo,            
const char **params);
DESCRIPTION
       The 
crypt_gensalt_impl() function is called by 
crypt_gensalt(3C) to
       generate the salt for password encryption.
       The 
gsbuffer argument is a pointer to an MT-safe buffer of size       
gsbufflen.
       The 
oldsalt and 
userinfo arguments are passed unchanged from       
crypt_gensalt(3C).
       The 
params argument is an 
argv-like null terminated vector of type       
char *. The first element of 
params represents the mechanism token
       name from 
crypt.conf(5). The remaining elements of 
params represent
       strings of the form <
parameter>[=<
value>] to allow passing in
       additional information from the 
crypt.conf entry, such as specifying
       rounds information "
rounds=4096".
       The value returned by 
crypt_gensalt_impl() points to a thread-
       specific buffer to be freed by the caller of 
crypt_gensalt(3C) after
       calling 
crypt(3C).
RETURN VALUES
       Upon successful completion, 
crypt_gensalt_impl() returns a pointer to
       the new salt. Otherwise a null pointer is returned and 
errno is set
       to indicate the error.
ERRORS
       The 
crypt_gensalt_impl() function will fail if:       
EINVAL                  The configuration file 
crypt.conf contains an invalid
                  entry.       
ELIBACC                  The required crypt shared library was not found.       
ENOMEM                  There is insufficient memory to perform hashing.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Evolving        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       passwd(1), 
crypt(3C), 
crypt_genhash_impl(3C), 
crypt_gensalt(3C),       
getpassphrase(3C), 
crypt.conf(5), 
passwd(5), 
attributes(7)                                June 10, 2002         CRYPT_GENSALT_IMPL(3C)