EGEE

eds-simple.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) Members of the EGEE Collaboration. 2005-2007.
00003  *  See http://eu-egee.org/partners/ for details on the copyright holders.
00004  *  For license conditions see the license file or 
00005  *  http://www.apache.org/licenses/LICENSE-2.0
00006  *
00007  *  GLite Data Management - Simple encrypted data storage API
00008  *
00009  *  Authors:
00010  *      Andrei Kruger <andrei.krueger@cern.ch>
00011  *      Zoltan Farkas <Zoltan.Farkas@cern.ch>
00012  *      Peter Kunszt <Peter.Kunszt@cern.ch>
00013  *
00014  */
00015 
00016 #ifndef GLITE_DATA_EDS_SIMPLE_H
00017 #define GLITE_DATA_EDS_SIMPLE_H
00018 
00019 #include <openssl/evp.h>
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00036 char ** glite_eds_get_catalog_endpoints(int *count, char **error);
00037 
00049 int glite_eds_register(char *id, char *cipher, int keysize,
00050     char **error);
00051 
00065 EVP_CIPHER_CTX *glite_eds_register_encrypt_init(char *id,
00066     char *cipher, int keysize, char **error);
00067 
00079 EVP_CIPHER_CTX *glite_eds_encrypt_init(char *id, char **error); 
00080 
00092 EVP_CIPHER_CTX *glite_eds_decrypt_init(char *id, char **error); 
00093 
00108 int glite_eds_encrypt_block(EVP_CIPHER_CTX *ectx, char *mem_in, int mem_in_size,
00109     char **mem_out, int *mem_out_size, char **error);
00110 
00123 int glite_eds_encrypt_final(EVP_CIPHER_CTX *ectx, char **mem_out, int *mem_out_size, char **error);
00124 
00139 int glite_eds_decrypt_block(EVP_CIPHER_CTX *dctx, char *mem_in,  int mem_in_size,
00140     char **mem_out, int *mem_out_size, char **error);
00141 
00154 int glite_eds_decrypt_final(EVP_CIPHER_CTX *dctx, char **mem_out, int *mem_out_size, char **error);
00155 
00166 int glite_eds_finalize(EVP_CIPHER_CTX *ctx, char **error);
00167 
00178 int glite_eds_unregister(char *id, char **error);
00179 
00180 
00181 #ifdef __cplusplus
00182 }
00183 #endif
00184 
00185 #endif /* GLITE_DATA_EDS_SIMPLE_H */
The GLite Project. All rights reserved.