EGEE
Main Page | File List | Globals

eds-simple.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) Members of the EGEE Collaboration. 2005.
00003  *  See http://eu-egee.org/partners/ for details on the copyright holders.
00004  *  For license conditions see the license file or http://eu-egee.org/license.html
00005  *
00006  *  GLite Data Management - Simple encrypted data storage API
00007  *
00008  *  Authors:
00009  *  Zoltan Farkas <Zoltan.Farkas@cern.ch>
00010  *  Peter Kunszt <Peter.Kunszt@cern.ch>
00011  *
00012  */
00013 
00014 #ifndef GLITE_DATA_EDS_SIMPLE_H
00015 #define GLITE_DATA_EDS_SIMPLE_H
00016 
00017 #include <openssl/evp.h>
00018 
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022 
00023 
00035 int glite_eds_register(char *id, char *cipher, int keysize,
00036     char **error);
00037 
00051 EVP_CIPHER_CTX *glite_eds_register_encrypt_init(char *id,
00052     char *cipher, int keysize, char **error);
00053 
00065 EVP_CIPHER_CTX *glite_eds_encrypt_init(char *id, char **error); 
00066 
00078 EVP_CIPHER_CTX *glite_eds_decrypt_init(char *id, char **error); 
00079 
00094 int glite_eds_encrypt_block(EVP_CIPHER_CTX *ectx, char *mem_in, int mem_in_size,
00095     char **mem_out, int *mem_out_size, char **error);
00096 
00109 int glite_eds_encrypt_final(EVP_CIPHER_CTX *ectx, char **mem_out, int *mem_out_size, char **error);
00110 
00125 int glite_eds_decrypt_block(EVP_CIPHER_CTX *dctx, char *mem_in,  int mem_in_size,
00126     char **mem_out, int *mem_out_size, char **error);
00127 
00140 int glite_eds_decrypt_final(EVP_CIPHER_CTX *dctx, char **mem_out, int *mem_out_size, char **error);
00141 
00152 int glite_eds_finalize(EVP_CIPHER_CTX *ctx, char **error);
00153 
00164 int glite_eds_unregister(char *id, char **error);
00165 
00166 
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170 
00171 #endif /* GLITE_DATA_EDS_SIMPLE_H */
The GLite Project. All rights reserved.