int des_read_pw_string(buf,length,prompt,verify)
char *buf, *prompt;
int length, verify;
int des_read_password(key,prompt,verify)
des_cblock *key;
char *prompt;
int verify;
int des_read_2passwords(key1,key2,prompt,verify)
des_cblock *key1, *key2;
char *prompt;
int verify;
All of the encryption functions take what is called a des_key_schedule as an argument. A des_key_schedule is an expanded form of the des key. A des_key is 8 bytes of odd parity, the type used to hold the key is a des_cblock. A des_cblock is an array of 8 bytes, often in this library description I will refer to input bytes when the function specifies des_cblock's as input or output, this just means that the variable should be a multiple of 8 bytes.
des_read_pw_string() is used to get a password from the terminal with echo turned off. Buf is where the string will end up and length is the size of buf. Prompt is a string presented to the 'user' and if verify is set, the key is asked for twice and unless the 2 copies match, an error is returned. A return code of -1 indicates a system error, 1 failure due to use interaction, and 0 is success.
des_read_password() combines des_read_pw_string() with des_string_to_key().
des_read_2passwords() combines des_read_pw_string() with des_string_to_2key().