2
Copyright (C) 2010- The University of Notre Dame
3
This software is distributed under the GNU General Public License.
4
See the file COPYING for details.
12
#define ACCESS_KEY_ID_LENGTH 21
13
#define ACCESS_KEY_LENGTH 41
14
#define AWS_CANONICAL_ID_LENGTH 65
15
#define MAX_KEY_LENGTH 1024
16
#define HEADER_LINE_MAX 10240
24
struct s3_header_object {
30
struct amz_metadata_object {
31
char type[MAX_KEY_LENGTH];
32
char value[MAX_KEY_LENGTH];
38
AMZ_PERM_PUBLIC_WRITE,
45
enum s3_message_type {
55
enum s3_message_type type;
61
struct list* amz_headers;
65
char authorization[55];
68
struct s3_dirent_object {
69
char key[MAX_KEY_LENGTH];
71
char digest[MD5_DIGEST_LENGTH];
73
char owner[AWS_CANONICAL_ID_LENGTH];
75
struct list *metadata;
78
int s3_set_endpoint(const char *target);
79
struct s3_header_object* s3_new_header_object(enum s3_header_type type, const char* custom_type, const char* value);
80
const char * s3_get_header(enum s3_header_type type, const char* custom_type);
81
int s3_header_comp(const void *a, const void *b);
82
int sign_message(struct s3_message* mesg, const char* user, const char * key);
83
int s3_message_to_string(struct s3_message *mesg, char** text);