See the library functions here: 
EVP generic crypto functions
The use of 
EVP_CipherInit_ex() and EVP_Cipher() is pretty easy to understand forward, then 
EVP_CipherUpdate() and 
EVP_CipherFinal_ex() really needs an example to explain 
example_evp_cipher::c .